Announcement

Collapse
No announcement yet.

Linkerprobleme in Multiproject

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linkerprobleme in Multiproject

    Ich verzweifle so langsam bei der Kompilierung einer Solution, welche aus vier Projekten besteht. (Drei werden zu Libraries kompiliert (Unterprojekte) und in das vierte (Hauptprojekt) eingebunden.) Alles war wunderbar, bis ich in einem der "Unterprojekte" die Boost Lib eingebunden habe.

    Visual Studio 2008, Boost lib 1.44.0

    Kurz zur Rahmenhandlung:
    - A,B,C werden mit ihren Libs statisch gelinkt und als Libraries in D kompiliert.

    - A, B und C verwenden .h Dateien von D.

    - B und D verwenden .h Dateien von A.

    - A verwendet die Boost Lib.

    - A, B und C lassen sich einzeln ohne Fehler kompilieren.

    Jetzt das Problem:
    Möchte ich jetzt die gesamte Solution kompilieren, laufen die ersten drei fehlerfrei durch. Beim "linken" von D treten folgende Fehler auf:

    Variante a (pfad von boostlib nicht in den "additional library directories" angegeben):
    LINK : fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-sgd-1_44.lib'


    Variante b (pfad von boostlib in den "additional libraries" angegeben):
    ...
    libcpmtd.lib(xmbtowc.obj) : error LNK2019: unresolved external symbol __ui64toa_s referenced in function __CreateLocForCP
    libcpmtd.lib(xgetwctype.obj) : error LNK2019: unresolved external symbol ___crtGetStringTypeW referenced in function __Getwctype
    libboost_thread-vc90-mt-sgd-1_44.lib(thread.obj) : error LNK2019: unresolved external symbol __beginthreadex referenced in function "private: void __thiscall boost::thread::start_thread(void)" (?start_thread@thread@boost@@AAEXXZ)
    libboost_thread-vc90-mt-sgd-1_44.lib(thread.obj) : error LNK2019: unresolved external symbol __alldiv referenced in function "union _LARGE_INTEGER __cdecl boost::this_thread::`anonymous namespace'::get_due_time(struct boost::detail::timeout const &)" (?get_due_time@?A0x3bf07b89@this_thread@boost@@YA? AT_LARGE_INTEGER@@ABUtimeout@detail@3@@Z)
    libboost_thread-vc90-mt-sgd-1_44.lib(thread.obj) : error LNK2019: unresolved external symbol __allrem referenced in function "public: long __thiscall boost::date_time::time_duration<class boost:osix_time::time_duration,class boost::date_time::time_resolution_traits<struct boost::date_time::time_resolution_traits_adapted64 _impl,5,1000000,6,long> >::minutes(void)const " (?minutes@?$time_duration@V0posix_time@boost@@V?$t ime_resolution_traits@Utime_resolution_traits_adap ted64_impl@date_time@boost@@$04$0PECEA@$05J@date_t ime@2@@date_time@boost@@QBEJXZ)
    libboost_thread-vc90-mt-sgd-1_44.lib(thread.obj) : error LNK2019: unresolved external symbol __gmtime64 referenced in function _gmtime
    libboost_thread-vc90-mt-sgd-1_44.lib(thread.obj) : error LNK2019: unresolved external symbol __aullrem referenced in function "private: static class boost:osix_time:time __cdecl boost::date_time::microsec_clock<class boost:osix_time:time>::create_time(struct tm * (__cdecl*)(__int64 const *,struct tm *))" (?create_time@?$microsec_clock@Vptime@posix_time@b oost@@@date_time@boost@@CA?AVptime@posix_time@3@P6 APAUtm@@PB_JPAU6@@Z@Z)
    libboost_thread-vc90-mt-sgd-1_44.lib(tss_pe.obj) : error LNK2001: unresolved external symbol __tls_used
    LibMainD.lib(fimJpegIo.obj) : error LNK2019: unresolved external symbol ___CxxLongjmpUnwind@4 referenced in function "bool __cdecl fimLoadJpeg(unsigned char const *,unsigned long,class FimImgT<class FimRgbaT<unsigned char> > &)" (?fimLoadJpeg@@YA_NPBEKAAV?$FimImgT@V?$FimRgbaT@E@ @@@@Z)
    LibWinD.lib(fimTgaIo.obj) : error LNK2019: unresolved external symbol __RTC_UninitUse referenced in function "bool __cdecl fimTgaParseUncompressedColourMapData(struct _iobuf *,struct FimTgaHeaderS const &,class std::vector<unsigned long,class std::allocator<unsigned long> > const &,struct FimTgaExtensionS const *,class FimImgT<class FimRgbaT<unsigned char> > &)" (?fimTgaParseUncompressedColourMapData@@YA_NPAU_io buf@@ABUFimTgaHeaderS@@ABV?$vector@KV?$allocator@K @std@@@std@@PBUFimTgaExtensionS@@AAV?$FimImgT@V?$F imRgbaT@E@@@@@Z)
    LibJpegIjg6bD.lib(jerror.obj) : error LNK2019: unresolved external symbol _fprintf referenced in function _output_message
    LibJpegIjg6bD.lib(jmemmgr.obj) : error LNK2019: unresolved external symbol _sscanf referenced in function _jinit_memory_mgr
    ...


    Man beachte bei Variante b, dass Symbole aus allen eingebundenen Libs nicht mehr aufgelöst werden können.

    Additional Library Dependencies Eintrag: "$(BOOST_DIR)\lib" funktioniert bei allen anderen Projekten.

    Vielen Dank für eure Hilfe..
Working...
X