【发布时间】:2023-03-04 02:39:01
【问题描述】:
我正在尝试编写一个 CMakeLists.txt 文件,用于在 Linux 上使用 G++ 和在 OSX 上使用 Clang 进行 C++ 编译。
我想在 G++ 中使用目标库标志 -Wl,--start-group 和 -Wl,--end-group,但是在与 Clang 链接时会出错:ld: unknown option: --start-group
我能找到的唯一结果是选择只删除 Mac 副本上的这些标志,但这并不能轻松地将项目从 linux 迁移到 OSX。我试图使这些语句成为 CMAKE 条件,但这些语句被视为未找到的文字库:
例如:$<IF($<NOT:APPLE>)> -Wl,--start-group $<ENDIF($<NOT:APPLE>)>
产生:c++: error: $<IF: No such file or directory
有没有办法在 CMAKE TARGET_LINK_LIBRARIES 字段中进行有条件的编辑?
【问题讨论】:
标签: linux macos gcc cmake clang