使用cpyy的cmake构建时链接标志错误



我试图在cppyy-knearestneighbors示例(https://github.com/jclay/cppyy-knearestneighbors-example)中构建cppyy的make build示例。根据我的理解,它使用了更现代的cppyy cmake。

然而,当涉及到链接时,我发现这个错误,

ld: unknown option: --no-as-needed
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [knn_example/libknn_exampleCppyy.dylib] Error 1
make[1]: *** [CMakeFiles/knn_exampleCppyy.dir/all] Error 2
make: *** [all] Error 2

我找不到方法来删除这个标志,因为它似乎是cppyy cmake内部的东西。是否有任何工作来修复编译?

我不能谈论cppyy以来我从来没有使用它,但由于它在内部使用CMake,这个问题你可以控制的价值LINK_WHAT_YOU_USE财产。

我将首先尝试禁用LINK_WHAT_YOU_USE的默认值:

# When running cmake configure:
cmake -GNinja -DCMAKE_LINK_WHAT_YOU_USE=OFF

如果它不工作,一个更进化的方法,这意味着迭代所有的目标和取消他们的LINK_WHAT_YOU_USE属性。如果你需要帮助,请告诉我

https://cmake.org/cmake/help/latest/variable/CMAKE_LINK_WHAT_YOU_USE.html变量:CMAKE_LINK_WHAT_YOU_USE

最新更新