» »

Problem z kompajlanjem primerov

Problem z kompajlanjem primerov

webfreak ::

Imam kos strojne opreme, ki je priključena preko LPT porta na PC. Ob nakupu kartice sem dobil tudi nekaj dokumentacije. Toda ko sem se lotil prvega kompajlanja primerov c kode se je pojavil problem. Nikakor ne morem skompajlati zadeve.

Naredil sem tako kot piše odprl že napisan primer, dodal v isto mapo, kjer kompajlam datoteko dll, ki je prišla zraven in dodal knjižnico I2C.h - toda funkcij, ki so namenjene tej strojni opremi mi moj kompajler še vedno noče pogoltniti. Vedno mi izpiše eno in isto:

EX_01.OBJ : error LNK2001: unresolved external symbol _DecToBin

oz vsakič ko uporabim funkcijo namenjeno tej kartici isto!

Kompajlam z visual c++. Ima kdo kak nasvet kaj naj naredim ali kje tiči težava??

NoUse4AName ::

Nimaš vključene knjižnice, ni dovolj da samo skopiraš datoteko zraven, moraš jo vključit.

SasoS ::

.h ni knjižnica ampak samo header (na računalniškem faxu zaradi take neumnosti padeš izpit >:D) ki vsebuje prototipe funkcij. Vključit moraš tudi dejansko knjižnico ki je ponavadi v fajlu .lib ali .a

webfreak ::

Kaj pa če mi niso predložili nobenega .lib ali.a fajla??

Vesoljc ::

potem je pa edina moznost dynamic linking
Abnormal behavior of abnormal brain makes me normal...

SasoS ::

Če ti izpiše samo eno manjkajočo funkcijo DecToBin jo spiši sam. Funkcija očitno pretvarja decimalne številke v binarne :D

webfreak ::

NI problem v tej funkciji problem je da ne vem kako se povezati na hardware bret priložene .dll datoteke in preštudiranja examplov, ki so priloženi. Zato me zanima kako omogočim funkcije, ki so namenjene tej kartici z uporabo .dll datoteke, kajti samo to imam na voljo.

Vesoljc ::

dll tako kot staticna knjiznjica exporta neke funkcije. fora je samo v temu, da ce imas staticni lib, to storita zate prejavalnik in linker, tu moras pa sam.

ce delas na win32 platformi lahko uporabis Loadlibrary ter GetProcAddress.
Abnormal behavior of abnormal brain makes me normal...

webfreak ::

Thx bom malce preštudiral tole - hvala

MasterBlaster ::

Lib file si lahko iz DLL-ja narediš tudi sam.

Najprej rabiš .def file, ki vsebuje seznam exportalih funkcij. Tega dobiš s programom impdef, ki je sicer del borlandovega C++ builderja.

impdef filename.def filename.dll

Nato pa kreiraš lib file z ukazom:

lib /def:filename.def

Lib includaš v VC in bi moralo delati.
Tk je pa pika .


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c++ lib,dll,h za uporabo v C#

Oddelek: Programiranje
91953 (1752) noraguta
»

Uporaba .dll

Oddelek: Programiranje
61373 (1333) Vesoljc
»

c++ header file

Oddelek: Programiranje
5850 (809) Vesoljc
»

Win32 API in C++

Oddelek: Programiranje
131564 (1435) Monster
»

C in Dll

Oddelek: Programiranje
71128 (1035) Senitel

Več podobnih tem