C a C++ > Obecné

Dynamic library import file - include path problém

(1/2) > >>

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