在cmake生成的项目中指定libstd

时间:2014-06-19 14:28:59

标签: opencv cmake libstdc++

我有一个OpenCV项目,它使用cmake生成makefile。

如果我执行cmake . && make,则会保持报告链接错误。我认为这是由于libstd的选择。 (我已经做了一个编写helloworld opencv项目的实验,事实证明-libstd=libstdc++是编译成功的关键。)

如何在cmake prject中添加开关-libstd=libstdc++

如果它有用,我的系统是OSX 10.9和编译器clang-503.0.40

2 个答案:

答案 0 :(得分:0)

对于CMake版本> = 2.8.12,您可以使用target_compile_optionsgenerator expression

假设你的目标被称为MyExe,那么你可以这样做:

target_compile_options(MyExe PUBLIC $<$<BOOL:${APPLE}>:-stdlib=libstdc++>)

答案 1 :(得分:0)

SET(CMAKE_CXX_FLAGS "-stdlib=libstdc++")

解决了这个问题