C a C++ > Obecné
Dynamic library import file - include path problém
hlucheucho:
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
Mi.Chal.:
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")
hlucheucho:
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
Mi.Chal.:
--- Citace: 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
--- Konce citace ---
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.
hlucheucho:
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
Navigace
[0] Seznam témat
[#] Další strana
Přejít na plnou verzi