Ahoj, potreboval bych poradit jakym zpusobem lze vyuzivat funkce z Dll nebo lib souboru v C programu...Znam hlavicky tech funkci, ale nevim jakym zpusobem se k tem funkcim "dostat".
Diky
Fórum › C / C++
Import funkci
toto ta nakopne http://www.codeproject.com/KB/DLL/RegDLL.aspx
pre c to je rovnake, s tym rozdielm, ze sa neuvadza extern "C".
To AdamHlavatovic :
A moh bys mi prosim poslat prikaz viz nasledujici priklad? Mam tedy soubory EloIF.dll a EloIf.lib, hlavickovy EloInterface.h
kousek kodu z hlavicky EloInterface.h
#ifdef ELOPUBLICINTERFACE_EXPORTS
#define ELOPUBLICINTERFACE_API __declspec(dllexport)
#else
#define ELOPUBLICINTERFACE_API __declspec(dllimport)
#endif
a jedna funkce ze stejneho souboru
// -----------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
ELOPUBLICINTERFACE_API int EloCancel() ;
#ifdef __cplusplus
}
#endif
// -----------------------------------------------------------------------------
co mam konkretne napsat v mem libovolnem C souboru abych mohl pracovat s touto funkci? Zkousel jsem:
#include "EloInterface.h" a v mainu pouzit int i = EloCancel();
kompiler ale hazi chybu
[Linker error] undefined reference to `_imp__EloCancel'
ld returned 1 exit status
Nevis co je spatne?
Ano, presne tak. linker nevie, kde ma hladat implementaciu funkcie EloCancel(). Pokial pouzivate visual studio, tak postupujte takto: do poľa Project->Properties->Configuration Properties->Linker->Input->Additional Dependencies napište EloIf.lib tajte OK a znova skompilujte. Popripade v Project->Properties->Configuration Properties->Linker->General->Additional Library Directories nastavte adresar v ktorom je EloIf.lib.
AdamHlavatovic napsal:
Ano, presne tak. linker nevie, kde ma hladat implementaciu funkcie EloCancel(). Pokial pouzivate visual studio, tak postupujte takto: do poľa Project->Properties->Configuration Properties->Linker->Input->Additional Dependencies napište EloIf.lib tajte OK a znova skompilujte. Popripade v Project->Properties->Configuration Properties->Linker->General->Additional Library Directories nastavte adresar v ktorom je EloIf.lib.
myslim ze by taky melo jit #pragma comment(lib, "EloIf.lib")
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
From livewires import * — založil zaachi
Import do PHP — založil psenik
Import .3ds to C++ — založil lukas.balaz
Import co nejrychleji — založil Kartmen
Import HEX — založil some programmer
Moderátoři diskuze