cmake为链接器添加前缀



我知道如何向链接器添加前缀。我需要这个,因为我需要在编译和链接之前添加牛眼编译器和链接器前缀。

SET(CMAKE_CXX_COMPILER "${BULLSEYE_PREFIX_CC} --no-banner ${CMAKE_CXX_COMPILER}")
SET(CMAKE_C_COMPILER "${BULLSEYE_PREFIX_CC} --no-banner ${CMAKE_C_COMPILER}")

我似乎找不到类似的链接器。有指针吗?

谢谢,Nick

这些是我的编译器和链接器前缀的值。编译器运行良好并生成cov文件。但是,链接器似乎没有生成可执行文件。它编译文件并构建可执行文件,但随后它表示链接失败。不确定发生了什么:(

C:/src/sw/tools/Bullseye/win32/8.7.33/BullseyeCoverage/bin/covc.exe C:/src/sw/to
ols/win32/msvc110/VC/bin/cl.exe
C:/src/sw/tools/Bullseye/win32/8.7.33/BullseyeCoverage/bin/covlink.exe <CMAKE_CO
MMAND> -E vs_link_exe <CMAKE_CXX_COMPILER> /nologo <OBJECTS> @<<
 <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TAR
GET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <L
INK_LIBRARIES>
<<

使用CMAKE_CXX_LINK_EXECUTABLE:

set(CMAKE_CXX_LINK_EXECUTABLE "${BULLSEYE_PREFIX_CC} ${CMAKE_CXX_LINK_EXECUTABLE}")

请注意,它不仅是链接器的路径,还包括标志和变量,例如,对于cygwin CMAKE_CXX_LINK_EXECUTABLE,它是:

<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> -Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR> <LINK_LIBRARIES>

备注

这将添加前缀,但您应该小心。我建议使用message命令打印,并查看结果是否符合您的要求。这个变量不容易自定义,所以您可能需要在cmake中进行一些字符串处理。

相关内容

  • 没有找到相关文章

最新更新