在配置时从CMake中获取当前Windows SDK和C ++ RT的路径

问题描述 投票:0回答:1

是否可以在配置时从CMake脚本中获取当前链接器路径?

具体来说,当我的主要CMakeLists.txt运行时(使用Visual Studio的其中一种),我正在寻找一种提取Windows SDK路径的方法以及编译器的标准库,因此我可以将其传递给嵌套的CMake脚本使用execute_command,它使用了不同的生成器。似乎CMAKE_CXX_COMPILER被设置为绝对路径,从中我可以对路径进行反向工程,例如到msvcrt,但这感觉很脆弱。对于Windows SDK,我知道CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION,可以使用一些其他知识将其组合成一条完整的路径,但目前涉及硬编码的路径。

我对任何提示感到高兴。我每次都失去多少小时和几天,真是太神奇了我需要在CMake中做一些尚未硬编码到CMake源代码中的事情。

windows winapi cmake msvcrt
1个回答
0
投票

CMAKE_LINKER变量将在CMake在配置阶段识别您的编译器后设置。您可以打印出路径以验证它是否是您想要的:

message(STATUS ${CMAKE_LINKER})

这将为Visual Studio打印如下内容:

C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/link.exe
© www.soinside.com 2019 - 2024. All rights reserved.