首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将GTSAM添加到项目中

将GTSAM添加到项目中
EN

Stack Overflow用户
提问于 2021-07-06 19:55:23
回答 1查看 113关注 0票数 0

我正在尝试将GTSAM添加到项目中,但它没有找到提振。我安装了GTSAM和boost,并尝试按照GTSAM repo中的示例添加GTSAM。我的CMakeLists:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.0)
project(project1 CXX)
set(GTSAM_DIR "C:/gtsam/gtsam/build")
find_package(GTSAM)
if(GTSAM_FOUND)  
  message(STATUS "Found GTSAM ${GTSAM_VERSION}")
else()
  message(STATUS "GTSAM Not Found")
endif()

include_directories(${GTSAM_INCLUDE_DIR})
add_executable(project1
  main.cpp
)

target_link_libraries(project1 PRIVATE gtsam)

在尝试使用cmake配置它之后,我得到了这个错误:

代码语言:javascript
复制
CMake Warning at CMakeLists.txt:9 (find_package):
  Found package configuration file:

    C:/gtsam/gtsam/build/GTSAMConfig.cmake

  but it set GTSAM_FOUND to FALSE so package "GTSAM" is considered to be NOT
  FOUND.  Reason given by package:

  GTSAM could not be found because dependency Boost could not be found.

在GTSAM安装期间,我没有遇到Boost的问题,所以我不确定问题出在哪里。

EN

回答 1

Stack Overflow用户

发布于 2021-07-23 22:39:56

我假设你自己构建了GTSAM。尝试像这样扩展您的CMakeLists.txt:

首先,确保您已经安装了boost sudp apt install libboost-dev

代码语言:javascript
复制
find_package( Boost REQUIRED )
include_directories(
    ${Boost_INCLUDE_DIRS}
    ${GTSAM_INCLUDE_DIRS}
)

add_executable(project1
  main.cpp
)

target_link_libraries(factor_graph_slam
    ${Boost_LIBRARIES}
    ${GTSAM_LIBRARIES}
)

根据构建GTSAM的方式(find_package(Eigen3 REQUIRED)find_package(TBB REQUIRED)加上添加到includes和链接库),您可能需要对Eigen和TBB执行相同的操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68270115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档