我正在尝试为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内部的东西。有没有解决编译问题的办法?
发布于 2021-10-06 22:07:56
我不能谈论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://stackoverflow.com/questions/69468385
复制相似问题