【发布时间】:2014-01-20 18:00:27
【问题描述】:
这个问题我已经筋疲力尽了……我花了好几天的时间。
我使用 target_link_libraries 链接 A 与 B 和 C
target_link_libraries(A rootdir/B.lib rootdir/C.lib)
虽然B需要E和F目录中的一些其他文件,但我使用
link_directories(rootdir/E rootdir/F)
要包含目录 E 和 F,但是使用 make VERBOSE=1 我发现虽然 cmake 在 E 和 F 之前添加 -i 并将它们传递给链接,但它还添加了一些额外的标志,例如
-Wl,-rpath,rootdir/E:rootdir/F:
这些额外的参数从何而来?我该如何解决这个问题? 我将不胜感激任何帮助!谢谢!
【问题讨论】:
-
你在链接器标志中设置了什么吗?
-
没什么,额外的标志“-Wl,-rpath, rootdir/E:rootdir/F:”是由link_directories()引入的
-
我不确定 -WI 做了什么,但我会理解 -rpath,因为 link_directories() 接受相对路径
-
感谢 Pandrei 的解释。
标签: cmake