You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用vcpkg安装RTABMap后,VSCode中C++项目CMake构建失败求助

解决vcpkg安装RTABMap后CMake找不到RTABMap_CORE_RELEASE等变量的问题

以下是针对性的排查和解决步骤:

1. 修正CMakeLists.txt的写法

不要直接引用RTABMap_CORE_RELEASE这类旧版变量,vcpkg打包的RTABMap通常使用现代CMake目标,改用目标链接方式:

cmake_minimum_required(VERSION 3.15)
project(rtabmap_demo)

# 查找RTABMap包
find_package(RTABMap REQUIRED)

# 添加可执行文件
add_executable(${PROJECT_NAME} main.cpp)

# 链接RTABMap的官方目标
target_link_libraries(${PROJECT_NAME} PRIVATE RTABMap::RTABMap RTABMap::RTABMapCore)

2. 确认vcpkg工具链正确加载

  • 命令行构建:必须显式指定vcpkg工具链文件,示例:
    cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=[你的vcpkg根目录]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows
    
  • VSCode配置:在.vscode/settings.json中确保工具链和三元组正确设置:
    {
        "cmake.toolchainPath": "D:/vcpkg/scripts/buildsystems/vcpkg.cmake",
        "cmake.vcpkgTriplet": "x64-windows"
    }
    

3. 重装RTABMap并清理缓存

  • 卸载现有安装并清理残留:
    vcpkg remove rtabmap:x64-windows --purge
    vcpkg clean
    
  • 重新安装:
    vcpkg install rtabmap:x64-windows
    
  • 删除本地CMake构建目录(如build文件夹),重新执行CMake配置和构建。

4. 检查RTABMap的CMake配置文件(进阶)

进入[vcpkg根目录]/installed/x64-windows/share/rtabmap,查看RTABMapConfig.cmake文件:

  • 如果文件中未定义RTABMap_CORE_RELEASE等变量,说明vcpkg的RTABMap端口配置未导出这些旧变量,此时优先使用步骤1的现代目标链接方式;
  • 若必须使用旧变量,可手动在RTABMapConfig.cmake中添加类似如下内容:
    set(RTABMap_CORE_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/librtabmap_core.lib")
    set(RTABMap_UTILITE_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libutilite.lib")
    

内容的提问来源于stack exchange,提问作者Ruhrpottpatriot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:15:39