Import funkci – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Import funkci – C / C++ – Fórum – Programujte.comImport funkci – C / C++ – Fórum – Programujte.com

 

cybernick0
Newbie
15. 2. 2009   #1
-
0
-

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

Nahlásit jako SPAM
IP: 85.70.52.–
AdamHlavatovic0
Stálý člen
15. 2. 2009   #2
-
0
-
Nahlásit jako SPAM
IP: 94.229.32.–
cybernick0
Newbie
15. 2. 2009   #3
-
0
-

To AdamHlavatovic :

Diky, ale neni to pouze pro C++ misto klasickeho Cecka?

Nahlásit jako SPAM
IP: 85.70.52.–
AdamHlavatovic0
Stálý člen
15. 2. 2009   #4
-
0
-

pre c to je rovnake, s tym rozdielm, ze sa neuvadza extern "C".

Nahlásit jako SPAM
IP: 94.229.32.–
cybernick0
Newbie
15. 2. 2009   #5
-
0
-

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?

Nahlásit jako SPAM
IP: 85.70.52.–
Jura
~ Anonymní uživatel
637 příspěvků
15. 2. 2009   #6
-
0
-

Sice nejsem Adam, tak snad se nebude zlobit, ale chyba je jasna - linker nevi, kde ma najit definici funkce EloCancel. Tzn. musis prilinkovat *.lib k projektu, pak by to uz melo jit.

Nahlásit jako SPAM
IP: 85.207.192.–
AdamHlavatovic0
Stálý člen
15. 2. 2009   #7
-
0
-

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.

Nahlásit jako SPAM
IP: 94.229.32.–
TooM70
Newbie
15. 2. 2009   #8
-
0
-

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")

Nahlásit jako SPAM
IP: 147.229.200.–
cybernick0
Newbie
15. 2. 2009   #9
-
0
-

No to je ono. Pouzivam DevC++ a nemohl jsem najit to prilinkovani, nastesti je to dost podobne tomu co jste mi napsali. Diky mockrat, tohle funguje :)

Nahlásit jako SPAM
IP: 85.70.52.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

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

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý