0
このサンプルコードはあります。静的なブーストファイルシステムを構築できません
#include <iostream>
#include <boost/filesystem.hpp>
using namespace std;
int main()
{
return 0;
}
それは正しくでビルドすることができます。g++ -lboost_system-mt -lboost_filesystem-mt 1.cpp
しかし、私は-static
を追加する場合、それは文句:
/tmp/cc1JEbRQ.o: In function `__static_initialization_and_destruction_0(int, int)':
1.cpp:(.text+0xb0): undefined reference to `boost::system::get_system_category()'
1.cpp:(.text+0xba): undefined reference to `boost::system::get_generic_category()'
1.cpp:(.text+0xc4): undefined reference to `boost::system::get_generic_category()'
1.cpp:(.text+0xce): undefined reference to `boost::system::get_generic_category()'
1.cpp:(.text+0xd8): undefined reference to `boost::system::get_system_category()'
collect2: ld returned 1 exit status
は、どのように私はそれを修正するのですか?
g++ 1.cpp -static -lboost_filesystem-mt -lboost_system-mt
実行時リンカーは共有をロードするためにトポロジカル依存関係の並べ替えを行いますので、これは次のとおりです。boost_filesystem
はboost_system
に依存するためのおかげ