VCのstaticalyリンクブースト(C:/ boostのような場所)のためにコンパイルされた単純なプロジェクトを作成するには?私のプロジェクトファイルはどのように見えますか?Qt + VS2010コンパイラ:VC staticalyリンクブースト用にコンパイルされた単純なプロジェクトを作成するには?
私は
INCLUDEPATH += C:/BOOST/include/boost-1_49
DEPENDPATH += C:/BOOST/lib
LIBS += -LC:/BOOST/lib -llibboost_system-vc100-mt-sgd-1_49 -llibboost_thread-vc100-mt-sgd-1_49
を.PROするために追加しようとしましたが、私は得る:
msvcprtd.lib(MSVCP100D.dll):-1: ERROR: LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" ([email protected]@@[email protected]) already defined in libboost_system-vc100-mt-sgd-1_49.lib(error_code.obj)
msvcprtd.lib(MSVCP100D.dll):-1: ERROR: LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" ([email protected]@@[email protected]) already defined in libboost_system-vc100-mt-sgd-1_49.lib(error_code.obj)
msvcprtd.lib(MSVCP100D.dll):-1: ERROR: LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" ([email protected][email protected]@@QAEXXZ) already defined in libboost_system-vc100-mt-sgd-1_49.lib(error_code.obj)
:-1: WARNING: LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
debug\loader.exe:-1: ERROR: LNK1169: one or more multiply defined symbols found
私はのような何かコンパイルしようとすると:
#include <QtGui/QApplication>
#include <iostream>
#include <boost/filesystem.hpp>
int main(int argc, char *argv[])
{
boost::filesystem::path p;
}
をだから私はどのように私はなら疑問に思います私の.prooファイルをVSコンパイラを使用しているQt Creatorを使ってVC用にコンパイルされた静的なブーストに正しくリンクするように変更しますか?
追加機能のために、ヘッダーに特別な指示があり、リンカーが自動的に必要なライブラリにリンクします(Visual Studioの場合のみ)。私はマシン上のブーストに対して静的にリンクするために何もしません。ちょうどヘッダを含んでいます。 –