Forum Delphi.cz

C a C++ => Obecné => Téma založeno: hlucheucho 18-08-2014, 15:11:40

Název: Dynamic library import file - include path problém
Přispěvatel: hlucheucho 18-08-2014, 15:11:40
Ahoj,

ve svém projektu používám "Dynamic library import file" - soubor .lib. Když nastavím "library path" na adresář tohoto souboru, obdržím sérii chybových hlášení Unresolved external ...  Pokud tento soubor přidám do projektu (volba Project->Add to Project), vše proběhne bez problémů, vznikne funkční exe. Nastavení include path do adresáře s hlavičkovými soubory jsem nastavil bez obtíží.

Musí se .h, .lib a .dll soubory jmenovat stejně?

C++ Builder XE5, Win 7 32 bit

hu
Název: Re:Dynamic library import file - include path problém
Přispěvatel: Mi.Chal. 18-08-2014, 20:01:12
Na jménu snad ani nezáleží. Jde o to, že .h obsahuje jenom hlavičky funkcí, v lib je pak implementace, takže pokud je nedáš do projektu, tak pak linker neví, co se má volat. Takže musíš liby přidat do projektu, v některých předkladačích funguje něco jako

#pragma comment(lib, "kernel32")
Název: Re:Dynamic library import file - include path problém
Přispěvatel: hlucheucho 18-08-2014, 20:14:16
vždycky jsem si myslel, že stačí nastavit library path v options projektu. Navíc je to složitější o to, že překladač umí více platforem a pro každou je knihovna jiná - pro 32 bit Win je to .lib, pro 64 bit Win je to .a

hu
Název: Re:Dynamic library import file - include path problém
Přispěvatel: Mi.Chal. 18-08-2014, 20:53:16
vždycky jsem si myslel, že stačí nastavit library path v options projektu. Navíc je to složitější o to, že překladač umí více platforem a pro každou je knihovna jiná - pro 32 bit Win je to .lib, pro 64 bit Win je to .a

No kromě cesty musíš říct, který konkrétní liby tam chceš použít (asi bys tam nechtěl nalinkovat všechny, co to najde). Přes ten #pragma tam snad přípony nepíšeš, takže je to jedno.
Název: Re:Dynamic library import file - include path problém
Přispěvatel: hlucheucho 19-08-2014, 10:04:26
Jestli tomu dobře rozumím, tak library path jsou nastavené pro případ, že bude nějaká lib vložena pomocí direktivy pragma?

hu
Název: Re:Dynamic library import file - include path problém
Přispěvatel: Mi.Chal. 19-08-2014, 15:29:16
Jestli tomu dobře rozumím, tak library path jsou nastavené pro případ, že bude nějaká lib vložena pomocí direktivy pragma?

hu

já v C/C++ nedělám, ale asi jo. V delphi do uses píšeš, které knihovny používáš a v options kde je má hledat, v C místo uses dáváš referenci na lib knihovny, ale taky je musí někde najít.