0

Mac でブースト ファイルシステムを使用しようとしています。次のヘッダーを追加しただけで、コンパイルしようとするとエラーが発生しました

# include <boost/filesystem.hpp>

エラーは

Undefined symbols for architecture x86_64:
"boost::system::generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int) in cclyDZox.o
"boost::system::system_category()", referenced from:
__static_initialization_and_destruction_0(int, int) in cclyDZox.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

どんな助けでも大歓迎です

4

2 に答える 2

1

やるべきだと思います

g++ -I~/Documents/boost_1_53_0/include -L~/Documents/boost_1_53_0/stage/lib -std=c++11 test1ver1.cpp -lboost_filesystem -lboost_system

  • -Iフラグは Boost ヘッダーの場所を指します
  • -Lフラグは Boost ライブラリの場所を指します
  • -lboost_filesystemおよび-lboost_systemフラグにより​​、バイナリと Boost Filesystem および System 共有ライブラリのリンクが有効になりました。(これらは常にオブジェクトまたはソース ファイルの後にある必要があります)

例えば:

#include <boost/filesystem.hpp>

int main() {
   boost::filesystem::path path_household_csv("./test");
}
于 2013-03-04T09:53:40.513 に答える