作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您可以在INTERFACE库( foo )上设置COMPILE_OPTIONS
并且那些COMPILE_OPTIONS也将由的用户使用
foo 。
add_library(foo INTERFACE)
target_link_libraries(foo INTERFACE foo_1)
target_compile_options(foo INTERFACE "-DSOME_DEFINE")
add_executable(exe exe.cpp)
target_link_libraries(exe foo)
最佳答案
根据documentation,不存在诸如INTERFACE_LINK_OPTIONS
之类的属性。可能是因为INTERFACE_*
属性用于描述如何使用目标(例如避免违反ODR规则或 undefined reference ),而--allow-multiple-definitions
这样的选项与特定库的使用无关(恕我直言,这表明有错误)。
无论如何,对于像gcc
这样的编译器,您也可以使用target_link_libraries
添加链接器标志:
target_link_libraries(foo INTERFACE "-Wl,--allow-multiple-definition")
关于cmake - cmake是否具有诸如target_link_options之类的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25043458/
自 CMake 3.13 起,target_link_options存在添加“链接步骤的选项”。 在该页面的底部附近,它说: To pass options to the linker tool, e
我是一名优秀的程序员,十分优秀!