Hallo,
ich habe ein Problem mit dem Visual Debugger. Ich habe eine Standard SDI Anwendung generiert und mit der MFC einige Dialoge und FormViews erstellt.
Im weiteren Verlauf wollte ich nun Standard C++ Klassen aus einem seperaten Programm einbinden. Wenn ich sie eingebunden habe, bekomme ich mehrere Linkerfehler. Ich habe gelesen, dass ich in jede Klasse die stdafx.h includen muss damit es geht.
Nachdem ich dies getan habe, bekomme ich diese LinkerFehler:
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (?3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
Ich habe in den Projekt Settings mal in den Linkeroptions /verbose:lib hinzugefügt und bekomme folgenden Output:
Compiling...
Compiling resources...
.....
Linking...
Searching libraries
Searching ALXGridD.lib:
Searching ...\Vc7\atlmfc\lib\nafxcwd.lib:
Searching ...\Vc7\lib\libcmtd.lib:
Searching ...\Vc7\lib\kernel32.lib:
Searching ...\Vc7\PlatformSDK\lib\user32.lib:
Searching ...\Vc7\PlatformSDK\lib\gdi32.lib:
Searching ...\Vc7\PlatformSDK\lib\msimg32.lib:
Searching ...\Vc7\PlatformSDK\lib\comdlg32.lib:
Searching ..\Vc7\PlatformSDK\lib\winspool.lib:
Searching ..\Vc7\PlatformSDK\lib\advapi32.lib:
Searching ...\Vc7\PlatformSDK\lib\shell32.lib:
Searching ...\Vc7\PlatformSDK\lib\comctl32.lib:
Searching ...\Vc7\PlatformSDK\lib\shlwapi.lib:
Searching ...\Vc7\PlatformSDK\lib\uuid.lib:
Searching ...\Vc7\PlatformSDK\lib\oledlg.lib:
Searching ...\Vc7\PlatformSDK\lib\ole32.lib:
Searching ...\Vc7\PlatformSDK\lib\oleaut32.lib:
Searching ...\Vc7\PlatformSDK\lib\urlmon.lib:
Searching ...\Vc7\lib\libcpmtd.lib:
Searching ...\Vc7\lib\OLDNAMES.lib:
Searching ...\Vc7\lib\libcimtd.lib:
libcimtd.lib(cerrinit.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
libcimtd.lib(ifstream.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
libcimtd.lib(iostrini.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
libcimtd.lib(ofstream.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
Searching ...\Vc7\atlmfc\lib\atlsd.lib:
Searching ...\Vc7\PlatformSDK\lib\wininet.lib:
Searching ...\Vc7\PlatformSDK\lib\oleacc.lib:
Searching ALXGridD.lib:
Searching ...\Vc7\atlmfc\lib\nafxcwd.lib:
Searching ...\Vc7\lib\libcmtd.lib:
Searching...\Vc7\lib\kernel32.lib:
Searching ...\Vc7\PlatformSDK\lib\user32.lib:
Searching ...\Vc7\PlatformSDK\lib\gdi32.lib:
Searching ...\Vc7\PlatformSDK\lib\msimg32.lib:
Searching ...\Vc7\PlatformSDK\lib\comdlg32.lib:
Searching ...\Vc7\PlatformSDK\lib\winspool.lib:
Searching ...\Vc7\PlatformSDK\lib\advapi32.lib:
Searching ...\Vc7\PlatformSDK\lib\shell32.lib:
Searching ...\Vc7\PlatformSDK\lib\comctl32.lib:
Searching ...i\Vc7\PlatformSDK\lib\shlwapi.lib:
Searching ...\Vc7\PlatformSDK\lib\uuid.lib:
Searching ...\Vc7\PlatformSDK\lib\oledlg.lib:
Searching ...\Vc7\PlatformSDK\lib\ole32.lib:
Searching ...\Vc7\PlatformSDK\lib\oleaut32.lib:
Searching ...\Vc7\PlatformSDK\lib\urlmon.lib:
Searching ...\Vc7\lib\libcpmtd.lib:
Searching ...\Vc7\lib\OLDNAMES.lib:
Searching ...\Vc7\lib\libcimtd.lib:
Searching ...\Vc7\atlmfc\lib\atlsd.lib:
Searching ...\Vc7\PlatformSDK\lib\wininet.lib:
Searching ...\Vc7\PlatformSDK\lib\oleacc.lib:
Searching ALXGridD.lib:
Searching ...\Vc7\atlmfc\lib\nafxcwd.lib:
Finished searching libraries
Debug...: fatal error LNK1169: one or more multiply defined symbols found
Ich hab versucht die Reihenfolge der Bibliotheken : libcimtd.lib, nafxcwd.lib zu änden und Linker Input Options. Habe sie ignored und wieder addiditional eingebunden.
Aber irgendwie führt das alles nicht zum Erfolg.
Das Programm läuft im Release Mode fehlerfrei! Aber ich würde halt auch öfter mal gerne Debuggen.
Wäre toll, wenn einer dieses Problem kennt und eine Lösung für mich kennt.
MFG,
Topsen
ich habe ein Problem mit dem Visual Debugger. Ich habe eine Standard SDI Anwendung generiert und mit der MFC einige Dialoge und FormViews erstellt.
Im weiteren Verlauf wollte ich nun Standard C++ Klassen aus einem seperaten Programm einbinden. Wenn ich sie eingebunden habe, bekomme ich mehrere Linkerfehler. Ich habe gelesen, dass ich in jede Klasse die stdafx.h includen muss damit es geht.
Nachdem ich dies getan habe, bekomme ich diese LinkerFehler:
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (?3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
Ich habe in den Projekt Settings mal in den Linkeroptions /verbose:lib hinzugefügt und bekomme folgenden Output:
Compiling...
Compiling resources...
.....
Linking...
Searching libraries
Searching ALXGridD.lib:
Searching ...\Vc7\atlmfc\lib\nafxcwd.lib:
Searching ...\Vc7\lib\libcmtd.lib:
Searching ...\Vc7\lib\kernel32.lib:
Searching ...\Vc7\PlatformSDK\lib\user32.lib:
Searching ...\Vc7\PlatformSDK\lib\gdi32.lib:
Searching ...\Vc7\PlatformSDK\lib\msimg32.lib:
Searching ...\Vc7\PlatformSDK\lib\comdlg32.lib:
Searching ..\Vc7\PlatformSDK\lib\winspool.lib:
Searching ..\Vc7\PlatformSDK\lib\advapi32.lib:
Searching ...\Vc7\PlatformSDK\lib\shell32.lib:
Searching ...\Vc7\PlatformSDK\lib\comctl32.lib:
Searching ...\Vc7\PlatformSDK\lib\shlwapi.lib:
Searching ...\Vc7\PlatformSDK\lib\uuid.lib:
Searching ...\Vc7\PlatformSDK\lib\oledlg.lib:
Searching ...\Vc7\PlatformSDK\lib\ole32.lib:
Searching ...\Vc7\PlatformSDK\lib\oleaut32.lib:
Searching ...\Vc7\PlatformSDK\lib\urlmon.lib:
Searching ...\Vc7\lib\libcpmtd.lib:
Searching ...\Vc7\lib\OLDNAMES.lib:
Searching ...\Vc7\lib\libcimtd.lib:
libcimtd.lib(cerrinit.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
libcimtd.lib(ifstream.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
libcimtd.lib(iostrini.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
libcimtd.lib(ofstream.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (3@YAXPAXHPBDH@Z) already defined in nafxcwd.lib(afxmem.obj)
Searching ...\Vc7\atlmfc\lib\atlsd.lib:
Searching ...\Vc7\PlatformSDK\lib\wininet.lib:
Searching ...\Vc7\PlatformSDK\lib\oleacc.lib:
Searching ALXGridD.lib:
Searching ...\Vc7\atlmfc\lib\nafxcwd.lib:
Searching ...\Vc7\lib\libcmtd.lib:
Searching...\Vc7\lib\kernel32.lib:
Searching ...\Vc7\PlatformSDK\lib\user32.lib:
Searching ...\Vc7\PlatformSDK\lib\gdi32.lib:
Searching ...\Vc7\PlatformSDK\lib\msimg32.lib:
Searching ...\Vc7\PlatformSDK\lib\comdlg32.lib:
Searching ...\Vc7\PlatformSDK\lib\winspool.lib:
Searching ...\Vc7\PlatformSDK\lib\advapi32.lib:
Searching ...\Vc7\PlatformSDK\lib\shell32.lib:
Searching ...\Vc7\PlatformSDK\lib\comctl32.lib:
Searching ...i\Vc7\PlatformSDK\lib\shlwapi.lib:
Searching ...\Vc7\PlatformSDK\lib\uuid.lib:
Searching ...\Vc7\PlatformSDK\lib\oledlg.lib:
Searching ...\Vc7\PlatformSDK\lib\ole32.lib:
Searching ...\Vc7\PlatformSDK\lib\oleaut32.lib:
Searching ...\Vc7\PlatformSDK\lib\urlmon.lib:
Searching ...\Vc7\lib\libcpmtd.lib:
Searching ...\Vc7\lib\OLDNAMES.lib:
Searching ...\Vc7\lib\libcimtd.lib:
Searching ...\Vc7\atlmfc\lib\atlsd.lib:
Searching ...\Vc7\PlatformSDK\lib\wininet.lib:
Searching ...\Vc7\PlatformSDK\lib\oleacc.lib:
Searching ALXGridD.lib:
Searching ...\Vc7\atlmfc\lib\nafxcwd.lib:
Finished searching libraries
Debug...: fatal error LNK1169: one or more multiply defined symbols found
Ich hab versucht die Reihenfolge der Bibliotheken : libcimtd.lib, nafxcwd.lib zu änden und Linker Input Options. Habe sie ignored und wieder addiditional eingebunden.
Aber irgendwie führt das alles nicht zum Erfolg.
Das Programm läuft im Release Mode fehlerfrei! Aber ich würde halt auch öfter mal gerne Debuggen.
Wäre toll, wenn einer dieses Problem kennt und eine Lösung für mich kennt.
MFG,
Topsen