【问题标题】:How to get IDE setup running for CustusX for plugin development?如何为 CustusX 运行 IDE 设置以进行插件开发?
【发布时间】:2015-05-20 09:21:23
【问题描述】:

我从主页下载了CustusX,并尝试关注build instructions。 (以 ./cxInstaller.py --full --all -t RelWithDebInfo 作为最后一个命令。在 Kubuntu 14.04 上运行顺利。

现在,所有内容都已检查并在硬盘上可用,我尝试设置一个项目,以便我可以在 IDE 中进行一些调试,例如。 qtcreator 或日食。我搜索了文档,但没有找到。

我尝试将 cmake-gui 指向 /[...]/custusx/CX/CX,选择 Eclipse CDT4 - Ninja 并尝试配置。但它失败了,因为它找不到 FindEigen.cmake:

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Eigen (missing: EIGEN_INCLUDE_DIR EIGEN_VERSION_OK)
  (Required is at least version "2.91.0")
Call Stack (most recent call first):

/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) CMake/FindEigen.cmake:76 (find_package_handle_standard_args) CMake/cxInitializeLibraries.cmake:273 (find_package) source/CMakeLists.txt:11 (cx_initialize_Eigen)`

我看到 CMake 目录中有一个 FindEigen.cmake,但设置 CMAKE_MODULE_PATH 也没有帮助。

QtCreator 也无法正常工作,因为当指向 custusx/CX/CX 的 CMakeLists.txt 时,它在解析 CMake 文件时遇到了同样的问题

那么,问题是如何在 IDE 中获得可运行的设置,最好是 qtcreator 或 eclipse 以开发 custusx 插件?

【问题讨论】:

  • 我想创建一个 custusx 标签,但我没有足够的声誉。我认为这是一个仅与此软件包相关的问题,因此我会很感激这样的标签(这与answer 的行一致:添加评论并要求创建)。在这里提出问题似乎也是作者的意图(来自他们的developers page:“在stackoverflow.com/search?q=custusx上发布问题,使用标签custusx”)

标签: cmake


【解决方案1】:

CustusX 是使用超级构建 cxInstaller.py 配置的。作为此构建的一部分,使用参数调用 cmake:

cmake 参数源文件夹

位于构建文件夹/home/cas/cx/CX/build_Release的示例:

cmake -G"Eclipse CDT4 - Ninja" -DCMAKE_BUILD_TYPE:STRING=Release -DEIGEN_INCLUDE_DIR:PATH=/home/cas/cx/eigen/eigen -DCTK_DIR:PATH=/home/cas/cx/CTK/build_Release -DOpenCV_DIR :PATH=/home/cas/cx/OpenCV/build_Release ...省略更多参数... /home/cas/cx/CX/CX

可以通过查看cxInstaller.py 的控制台输出,在标题== configure CustusX == 下找到此命令。一旦超级构建运行一次,您就可以开始使用 cmake-guiQtCreatorEclipse

使用 cmake-gui 时,将“构建二进制文件的位置”设置为您的构建文件夹。这将自动导致加载现有的 cmake 配置。在您的情况下,cmake-gui 可能会尝试从头开始配置,不带参数。

使用QtCreator时,首先打开根CustusX CMakeLists.txt文件。这将引导您进入“配置项目”页面。必须手动添加cmake配置:设置build文件夹的位置,然后配置,失败。然后,在 "Project->Build Settings->CMake arguments" 中,粘贴 superbuild (cxInstaller.py) 发送给 cmake 的所有参数,即不包括 cmake 和源文件夹的 cmake 命令行。如果使用 ninja,您可能还必须对其进行配置。

当前版本的QtCreator(3.0.1,Ubuntu 14.04)似乎没有读取项目的cmake配置,需要上述过程。对于 Ubuntu 12.04 附带的版本,这不是必需的。

使用Eclipse时,使用“Import”,然后“General->Existing Projects into Workspace”,根目录选择CX,此时CustusX应该会出现一个可以直接导入的项目(注意: 如果你之前使用QtCreator配置过,Eclipse项目文件会被删除,再次运行superbuild)

【讨论】:

  • 关于 QtCreator 设置:如何检索 superbuild 应用的命令行参数序列?
  • 我已将此添加到我的答案中:查看cxInstaller.py 的控制台输出。
【解决方案2】:

如何在 Ubuntu 14.04 上为 CustusX 设置 QtCreator 3.0.1(其他版本的 QtCreator 不需要):

获取 CMake 参数(输出最少):

./install/cxInstaller.py --configure -t RelWithDebInfo CustusX

在输出中搜索以cmake 开头并以...cx/CX/CX 结尾的(长)行

在 Project->Build Settings->CMake arguments 中粘贴这些参数

【讨论】:

  • 必须确保将相同(或没有)-t 参数传递给 cxInstaller(在我的情况下是 -t RelWithDebInfo),否则可能会发生相应的库没有更早构建。此外,可以省略参数的 -G 部分,因为 qtcreator 会再次添加这些参数。
  • 是的,我同意,我正在更新我的帖子以匹配您的原始参数。我的回答还假设您首先安装了其他库。
猜你喜欢
  • 2023-04-11
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 2011-01-26
  • 1970-01-01
  • 2020-10-28
相关资源
最近更新 更多