从 CMake 3.13 开始,存在target_link_options,它添加了“链接步骤的选项”。
该页面底部附近写着:
为了将选项传递给链接器工具,每个编译器驱动程序都有自己的语法。前缀
LINKER:和,分隔符可用于以可移植的方式指定要传递给链接器工具的选项
有人可以举例说明如何使用target_link_options()助手LINKER:吗?
感谢您的任何帮助!
这个想法是将所有链接器选项作为一串以逗号分隔的项目,前面加上“LINKER:”。假设我有一组与编译器调用 (gcc) 一起使用的标志:
-Wl,--gc-sections,-Tbootloader.ld,-Map=bootloader.map
Run Code Online (Sandbox Code Playgroud)
然后 cmake 部分应该看起来像。
...
add_executable(bootloader ${SRC})
target_link_options(bootloader PUBLIC "LINKER:--gc-sections,-Tbootloader.ld,-Map=bootloader.map")
...
Run Code Online (Sandbox Code Playgroud)