Avatar billede wix Nybegynder
16. marts 2005 - 13:47 Der er 4 kommentarer og
1 løsning

Debug problem

Hej,
Jeg har lavet et DLL (WAXDLL), som jeg trækker på fra et VB program. Ved siden af havde jeg en dos-app (WAXDB i C++), som lavede databaseopslag. Begge virkede fint. Nu har jeg taget koden fra databaseopslagsprogrammet og puttet det ind i en funktion i dll'et og tilføjet alle de headere, som ikke dll'et manglede i forhold til programmet.

Nu kan dll'et ikke kompileres og jeg er på bar bund. Se understående fejl.

Mvh.,
Christian Wix

nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in WAXDLL.obj
nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in WAXDLL.obj; second definition ignored
  Creating library Debug/WAXDLL.lib and object Debug/WAXDLL.exp
Debug/WAXDLL.dll : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
Avatar billede wix Nybegynder
16. marts 2005 - 19:45 #1
Teksten er måske lidt uforståelig. Database-applikationskode er puttet i et dll, og så er den gal. MSVC.
Avatar billede bertelbrander Novice
17. marts 2005 - 01:02 #2
Har du en DllMain i både dllmodul.cpp og i waxdll.cpp?
Du skal kun have én DllMain.
Avatar billede wix Nybegynder
17. marts 2005 - 11:19 #3
Ikke så vidt jeg kan se. I mit dll har jeg lavet en funktion, hvori jeg har puttet koden fra DB-programmet. Headeren fra DB-programmet så således ud:

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define WIN32_LEAN_AND_MEAN        // Exclude rarely-used stuff from Windows headers

#include <stdio.h>
#include <afxdb.h>
#include <ODBCINST.H>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <process.h>
Avatar billede wix Nybegynder
17. marts 2005 - 11:38 #4
Faktisk kompileres dll'et, men linkningen fejler ved nærmere eftersyn:

--------------------Configuration: WAXDLL - Win32 Debug--------------------
Compiling...
StdAfx.cpp
Compiling...
WAXDLL.cpp
Linking...
nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in WAXDLL.obj
nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in WAXDLL.obj; second definition ignored
  Creating library Debug/WAXDLL.lib and object Debug/WAXDLL.exp
Debug/WAXDLL.dll : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

WAXDLL.dll - 2 error(s), 1 warning(s)
Avatar billede wix Nybegynder
17. marts 2005 - 13:22 #5
Jeg har nu fundet ud af at det har noget med MFC at gøre. Jeg har slettet mit oprindelige DllMain, da det var i konflikt med et i et MFC lib.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester