このガイドに従って xgboost をサポートするマルチスレッドを構築しようとしています。だから私はこぶしを3歩にしました。しかし、私が実行すると:
cd xgboost
make
私はこのメッセージを受け取ります:
/Users/user/clang-omp/build/bin/clang++ -c -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -fopenmp -fopenmp -fPIC -o updater.o src/tree/updater.cpp
src/tree/updater.cpp:5:10: fatal error: 'cstring' file not found
#include <cstring>
^
1 error generated.
make: *** [updater.o] Error 1
私は何を間違っていますか?
システム: Mac OS X 10.10.4
PS この投稿のようにシステム変数を設定しようとしましたが、うまくいきませんでした。
解決済み: Mac でファイル "cstring" が見つかりました。いくつかのバリエーションがありました。folder:/usr/local/Cellar/clang-omp/2015-04-01/libexec/include/c++/v1/ を取り、変数を設定しました。
export CPLUS_INCLUDE_PATH=/usr/local/Cellar/clang-omp/2015-04-01/libexec/include/c++/v1/:
export C_INCLUDE_PATH=/usr/local/Cellar/clang-omp/2015-04-01/libexec/include/c++/v1/:
それは話の終わりではありませんでした。別の間違いが発生しました:
Undefined symbols for architecture x86_64:
"__ZNKSs7compareEPKc", referenced from:
__ZN7xgboost14BoostLearnTask3RunEiPPc in main.o
__ZN7xgboost7learner12BoostLearner10InitObjGBMEv in main.o
__ZN7xgboost14BoostLearnTask8InitDataEv in main.o
...
この投稿で解決しました。したがって、次のように Makefile を修正します。
export CC = clang-omp++
export CXX = clang-omp++
そして、それはうまくいきました。