Posted By: medvidek (Zase za polarnim kruhem) on 'CZprogram'
Title: jak pouzit dll z msvc v builderu
Date: Thu Apr 11 16:59:38 2002
Mam dll prelozene msvc 6 a chci ho pouzit v C++ builderu 5. To dll exportuje
jediny symbol - promennou.
v dll je deklarovan jako extern "C" __declspec(dllexport) void* lsdcf;
v headeru jako extern "C" __declspec(dllimport) void* lsdcf;
tdumpem jsem overil, ze z dll je exportovana jako symbol lsdcf
A tuto dll chci pouzit v C++ Builderu. Udelat prislusny .lib neni problem
Problem ale je, ze builder automaticky generuje podtrzitka pro C symboly
a msvc ne.
Cili kdyz vyse uvedeny header pouziju v builderu, kompilator prida _
a linker bude kricet, ze nenasel externi symbol _lsdcf.
OK, Da se pomoci .DEF fajlu zaridit, aby bral _lsdcf jako alias pro lsdcf
pak linkovani projde
Problem je, ze kdyz vyslednou aplikaci spustim, tak mi wokna pri dynamickem
linkovani toho dll rvou, ze nenasly entry point pro symbol _lsdcf. Tusite nekdo
proc a jak z toho ven? Jak pouzit msvc dll v builderu?
Muzu v bulderu nastavit, aby negeneroval podtrzitka, pak ale nejde pouzivat
veci ze stdlibc, leda stylem
#define printf _printf
:(((
Pripadne by mi stacilo i opacne reseni - to dll prelozit v builderu a nasledne
ho umet pouzit v msvc. Jestli jste tohle nekdo zkousel (ja jeste ne), tak se
prosim ozvete. Jak udelat prislusny .lib nebo .def
Ach jo, proc je v tom takovej bordel :(((
medvidek
--
ELVIRA - Extended LSD VoiceXML interpreter for Applications
http://www.fi.muni.cz/lsd/elvira
Engine for building dialog applications Free for noncommercial use