请问,cmake 构建cpp 如何指定的vs2017 sdk构建
时间: 2023-12-30 19:24:07 浏览: 23
您可以在CMakeLists.txt文件中使用以下命令来指定使用VS2017的SDK构建:
```
set(CMAKE_GENERATOR_TOOLSET "v141_xp" CACHE STRING "Platform Toolset" FORCE)
set(CMAKE_VS_PLATFORM_TOOLSET "v141" CACHE STRING "Platform Toolset" FORCE)
```
其中,v141是VS2017的版本号,v141_xp是支持Windows XP的版本号。您可以根据需要进行相应的更改。同时,您还需要确保已正确设置了Visual Studio 2017的环境变量。
相关问题
请问,cmake 构建cpp 如何指定的vs2017 sdk构建 ,不修改CMakeLists.txt 通过CMAKE命令
您可以在使用CMake命令时添加以下参数来指定使用VS2017的SDK构建:
```
cmake -G "Visual Studio 15 2017" -A Win32 -T v141 .
```
其中,-G参数指定生成的项目类型为Visual Studio 2017,-A参数指定生成的平台为Win32(如果您需要生成x64平台的项目,则将Win32改为x64),-T参数指定使用的工具集为v141。在这个命令中,"."表示CMakeLists.txt所在的目录。
请注意,此方法不会修改CMakeLists.txt文件。
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package): Could not find a package configuration file provided by "cpp" with any of the following names: cppConfig.cmake cpp-config.cmake Add the installation prefix of "cpp" to CMAKE_PREFIX_PATH or set "cpp_DIR" to a directory containing one of the above files. If "cpp" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): mapVision/CMakeLists.txt:10 (find_package)
这个错误提示表明 CMake 在查找名为 "cpp" 的包时没有找到相应的配置文件,导致无法完成构建。
有几种可能的原因:
1. "cpp" 包没有正确安装到你的 ROS 系统中,你需要检查该包是否存在,以及是否已经正确地安装。你可以使用以下命令查看 "cpp" 包是否存在:
```
rospack find cpp
```
如果该命令返回错误信息,说明 "cpp" 包没有安装或者没有正确配置。你可以使用以下命令安装 "cpp" 包:
```
sudo apt-get install ros-melodic-cpp
```
2. 如果 "cpp" 包已经正确安装,那么可能是因为 CMake 的搜索路径没有包含 "cpp" 包的路径。你可以通过设置 CMAKE_PREFIX_PATH 或者 cpp_DIR 变量来指定 "cpp" 包路径,例如:
```
set(CMAKE_PREFIX_PATH /opt/ros/melodic/share:/path/to/cpp)
```
或者
```
set(cpp_DIR /path/to/cpp/share/cpp/cmake)
```
这样可以让 CMake 找到 "cpp" 包的配置文件。
希望这些信息能够帮助你解决问题。如果还有其他问题,请继续提问。