首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用cmake从源头构建Drake的几个问题

用cmake从源头构建Drake的几个问题
EN

Stack Overflow用户
提问于 2020-04-20 12:07:05
回答 2查看 308关注 0票数 0

我试图建立和安装德雷克的来源,以获得对莫塞克的支持。然而,我总是遇到麻烦。为了记录在案,我正在运行macOS Catalina。

现在我的方法是:

从github到我计算机上的位置的

  1. 克隆(来自./setup/mac/install_prereqs.sh
  2. Run bazel build //...的 prereqs创建一个名为buildcd buildcmake ..的目录,然后在使用cmake构建的C++项目中创建makemake install
    1. And,我将其添加到CMakeLists.txt:link_directories(drakelocation/build/install/lib) include_directories(drakelocation/build/install/include)

然而,当我试图构建我的项目时,我会得到一个错误,德雷克无法找到特征:'Eigen/Core' file not found。我可以通过添加以下内容来解决这一问题:

target_link_libraries(my_lib Eigen3::Eigen)到我的CMakeLists.txt

我觉得这有点奇怪,因为我希望德雷克在建造的时候包括了艾根,但至少这让我能够走得更远。

在此之后,我得到了一堆类型的消息:no member named 'signbit' in the global namespace

也就是说,看起来Drake突然失去了所有标准的C++库。我还没能解决这个问题,所以这就是我目前陷入困境的地方。

你有什么建议吗,或者你以前有没有遇到过类似的问题?

其他资料:

使用

  • find_package(drake)根本不适用于我的当前方法(cmake无法定位drake-config.cmake)。我是不是遗漏了什么东西,这是必需的,以使这一工作?cmake库将在哪里安装,以及如何将它们安装在那个位置?
  • 我也尝试过跳过整个bazel build //...步骤,直接转到cmake ..步骤,在我运行bazel clean --expunge的每一种不同构建方法之间似乎都没有使用任何cmake ..步骤,以确保与上一次运行相比没有任何问题。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-20 14:00:47

您需要告诉CMake您的Drake安装位置:

代码语言:javascript
复制
list(APPEND CMAKE_PREFIX_PATH /absolute/path/to/drakelocation/build/install)
find_package(drake REQUIRED)

add_library(my_lib ...)
target_link_libraries(my_lib drake::drake)

这确保您拥有所有必要的编译器和链接器标志。将包含目录设置为简单的/absolute/path/to/drakelocation/build/install/include是不够的,因为它不包含Drake各种依赖项的包含目录。

注意,在调用bazel之前,不需要自己调用cmake。当您运行make install时,它将在内部调用bazel

票数 0
EN

Stack Overflow用户

发布于 2020-04-20 17:05:13

谢谢解决了我所遇到的find_package()问题的杰米。

我在建筑上还是有些麻烦。结果发现,我默认的SDK路径有问题,根据这个设置"CMAKE_OSX_SYSROOT“:Catalina C++: Using headers yield error: no member named 'signbit' in the global namespace在XCode更新后就成功了。

在此之后,我从特征收到了许多奇怪的错误消息,抱怨MatrixXd没有在名称空间' Eigen‘中定义。出于某种原因,用brew uninstall eigen卸载它,然后从源代码下载和构建特征,就解决了这些问题。

现在起作用了!

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

https://stackoverflow.com/questions/61322152

复制
相关文章

相似问题

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