我是Mac OS系统的新手。最近,我正在做一个项目,要求使用xgboost进行c语言预测。我的问题是如何正确编写CmakeLists.txt文件。
我已根据指导文件逐步进行了操作。实际上,我使用以下命令使cpp正确运行:
vendor
但是,当我转到CmakeLists.txt时,发生了一些错误。这是错误代码:
vendor
这是CmakeLists.txt的代码:
g++ main.c -Ixgboost/include -Ixgboost/rabit/include xgboost/lib/libxgboost.a xgboost/rabit/lib/librabit_empty.a xgboost/dmlc-core/libdmlc.a
我知道有一些有关“ dyld:未加载库:”的主题。但我不知道如何在此特定任务中执行此操作。另外,我不知道写cmakelists是否是我的错(因为使用g ++没有错误)。如果有人可以告诉我如何解决此错误,我将不胜感激。
答案 0 :(得分:0)
您将需要找到所有增强库;
$ otool -L exefile
exefile:
@executable_path/libboost_something.dylib (compatibility version 0.7.0, current version 0.7.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 65.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
您需要为每个libboost_something.dylib
$ install_name_tool -change @executable_path/libboost_something.dylib /opt/local/lib/libboost_something.dylib exefile
如果这不起作用,则可以使用一种替代方法,即使用静态版本的Boost而不是动态版本。
set(Boost_USE_STATIC_LIBS ON)