[SmartWin++] Debug Build erstellen



  • Hallo Leute,

    ich bin gerade dabei mich richtig in SmartWin einzuarbeiten. Nun habe ich folgendes Problem:

    Ich arbeite mit Visual C++ 2005 Express Edition und habe damit auch SmartWin gebaut. Nun hat der Installer/Build Skript bei der SmartWin Installation nur eine Release Version der SmartWin Lib gebaut. Die Folge war bisher, dass ich meine SmartWin Projekte auch im Release Modus bauen musste, da die notwendige "SmartWinD.lib" fehlte. Nun arbeite ich aber gerade an einem etwas größeren Projekt und bin auf das Debug Build angewiesen... Ich hab daher einfach das SmartWin Visual Studio Projekt (war bei der Installation dabei) geöffnet und manuell mit Visual C++ 2005 die SmartWinD.lib nachgebaut. Das hat auch zuerst ganz gut funktioniert. Jetzt taucht aber das Problem auf, das die SmartWin Leute irgendwie Boost Signals verwenden, die der Kompiler wohl mit in die SmartWinD.lib eingebaut hat. Da ich in meinem anderen Projekt allerdings auch Boost benutze, scheinen die SmartWinD.lib und mein normales Boost irgendwie miteinander zu kolidieren. Immer wenn ich das Projekt bauen will bekomme ich:

    1>SmartWinD.lib(named_slot_map.obj) : error LNK2005: "public: __thiscall boost::signals::detail::named_slot_map_iterator::named_slot_map_iterator(void)" (??0named_slot_map_iterator@detail@signals@boost@@QAE@XZ) ist bereits in SmartWinD.lib(signal_base.obj) definiert.
    1>SmartWinD.lib(named_slot_map.obj) : error LNK2005: "public: __thiscall boost::signals::detail::named_slot_map_iterator::named_slot_map_iterator(class boost::signals::detail::named_slot_map_iterator const &)" (??0named_slot_map_iterator@detail@signals@boost@@QAE@ABV0123@@Z) ist bereits in SmartWinD.lib(Application.obj) definiert.
    1>SmartWinD.lib(named_slot_map.obj) : error LNK2005: "public: class boost::signals::detail::named_slot_map_iterator & __thiscall boost::signals::detail::named_slot_map_iterator::operator=(class boost::signals::detail::named_slot_map_iterator const &)" (??4named_slot_map_iterator@detail@signals@boost@@QAEAAV0123@ABV0123@@Z) ist bereits in SmartWinD.lib(Application.obj) definiert.
    1>SmartWinD.lib(named_slot_map.obj) : error LNK2005: "public: struct boost::signals::detail::connection_slot_pair & __thiscall boost::signals::detail::named_slot_map_iterator::dereference(void)const " (?dereference@named_slot_map_iterator@detail@signals@boost@@QBEAAUconnection_slot_pair@234@XZ) ist bereits in SmartWinD.lib(Application.obj) definiert.
    1>SmartWinD.lib(named_slot_map.obj) : error LNK2005: "public: void __thiscall boost::signals::detail::named_slot_map_iterator::increment(void)" (?increment@named_slot_map_iterator@detail@signals@boost@@QAEXXZ) ist bereits in SmartWinD.lib(Application.obj) definiert.
    1>SmartWinD.lib(named_slot_map.obj) : error LNK2005: "public: bool __thiscall boost::signals::detail::named_slot_map_iterator::equal(class boost::signals::detail::named_slot_map_iterator const &)const " (?equal@named_slot_map_iterator@detail@signals@boost@@QBE_NABV1234@@Z) ist bereits in SmartWinD.lib(Application.obj) definiert.
    1>D:\Programmieren\svn_watteimdocht\Jugend Forscht\gui\Debug\smartwintest1.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
    

    Wie kann man das beheben? Hab ich irgendwas beim bauen der SmartWinD.lib falsch gemacht, oder muss ich irgendwas an den Projekteinstellungen für mein aktuelles Projekt verändern?

    Wie gesagt, beim Release Build funktioniert alles reibungslos...


Anmelden zum Antworten