Hallo,
ich poste einfach mal das Problem mit der Releaserstellung:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1>------ Erstellen gestartet: Projekt: TriBase, Konfiguration: Release Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(E:\CPP10\TriBase\.\Release\TriBase.dll) entspricht nicht dem OutputFile-Eigenschaftswert (E:\CPP10\MysteryOutback\TriBase.dll) von Linker. Das Projekt wird daher möglicherweise nicht ordnungsgemäß erstellt. Damit dieses Problem behoben werden kann, müssen die Eigenschaftswerte für $(OutDir), $(TargetName) und $(TargetExt) dem in %(Link.OutputFile) angegebenen Wert entsprechen.
1>strmbased.lib(wxutil.obj) : error LNK2005: "public: __thiscall CCritSec::CCritSec(void)" (??0CCritSec@@QAE@XZ) ist bereits in tbVideo.obj definiert.
1>strmbased.lib(wxutil.obj) : error LNK2005: "public: __thiscall CCritSec::~CCritSec(void)" (??1CCritSec@@QAE@XZ) ist bereits in tbVideo.obj definiert.
1>strmbased.lib(wxutil.obj) : error LNK2005: "public: void __thiscall CCritSec::Lock(void)" (?Lock@CCritSec@@QAEXXZ) ist bereits in tbVideo.obj definiert.
1>strmbased.lib(wxutil.obj) : error LNK2005: "public: void __thiscall CCritSec::Unlock(void)" (?Unlock@CCritSec@@QAEXXZ) ist bereits in tbVideo.obj definiert.
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __heap_alloc ist bereits in LIBCMT.lib(malloc.obj) definiert.
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __recalloc ist bereits in LIBCMT.lib(recalloc.obj) definiert.
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __msize ist bereits in LIBCMT.lib(msize.obj) definiert.
1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook ist bereits in LIBCMT.lib(dbghook.obj) definiert.
1>LIBCMTD.lib(isctype.obj) : error LNK2005: __isctype_l ist bereits in LIBCMT.lib(isctype.obj) definiert.
1>LIBCMTD.lib(isctype.obj) : error LNK2005: __isctype ist bereits in LIBCMT.lib(isctype.obj) definiert.
1> Bibliothek ".\Lib\TriBase.lib" und Objekt ".\Lib\TriBase.exp" werden erstellt.
1>LINK : warning LNK4098: Standardbibliothek "LIBCMTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>..\MysteryOutback\TriBase.dll : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
|
Im Debug Modus wird das einfach ignoriert und als Warnung rausgegeben. Im Release Mode wird es als Fehler behandelt.
Ich finde keine Funktion CCritSec in tbVideo und wo in den Linkereinstellungen ich /NODEFAULTLIB:Bibliothek verwenden soll weiß ich auch nicht.
Es gibt da wohl 2 Einstellungen für Standard Bibliotheken.
Irgendwie weiß ich nicht so recht, wie ich damit umgehen soll.