我正在学习关于在 Ubuntu 上使用 C++ 的 MRPT 库的教程,但我并没有走得太远。我根据 http://www.mrpt.org/MRPT_in_GNU/Linux_repositories 成功下载了 Ubuntu 二进制文件
现在我正在学习使用 MRPT 编写第一个 C++ 程序的教程 link
我下载了 mrpt_example1.tar.gz 并将其解压到一个目录中,但是当我使用命令运行时:
ccmake .
没有生成代码的选项。 MRPT_DIR
已经设置为 /usr/share/mrpt
,MRPTConfig.cmake
的位置,所以看起来是 ccmake
找到那个了。我尝试设置其他选项,如 CMAKE_BUILD_TYPE
、EXECUTABLE_OUTPUT_PATH
或 LIBRARY_OUTPUT_PATH
,但这没有帮助。
如何告诉 ccmake
实际编译?
最佳答案
您可以直接使用 cmake
而不是使用 ccmake
,如下所示:
cmake .
这将在当前目录中生成一个Makefile
。
$ ls -1
CMakeCache.txt
CMakeFiles
cmake_install.cmake
CMakeLists.txt
Makefile
README.txt
test.cpp
然后您可以运行make
来编译示例程序:
$ make
Scanning dependencies of target mrpt_example1
[ 50%] Building CXX object CMakeFiles/mrpt_example1.dir/test.o
[100%] Linking CXX executable mrpt_example1
[100%] Built target mrpt_example1
然后运行示例程序:
$ ./mrpt_example1
L: (0,4,2)
R: (2.000,1.000,45.00deg)
C: (x,y,z,yaw,pitch,roll)=(0.5000,0.5000,1.5000,-90.00deg,0.00deg,-90.00deg)
R+C:(x,y,z,yaw,pitch,roll)=(2.0000,1.7071,1.5000,-45.00deg,-0.00deg,-90.00deg)
Computation in: 0.0857 us
L': (-3.03553,-0.5,0.207107)
R(+)C(+)L' = (-5.82867e-16,4,2)
Should be equal to L = (0,4,2)
|(R(+)C)-L|= 3.0834
|L-(R(+)C)|= 3.0834
请注意,您应该首先提取 mrpt_example1.tar.gz
内容的干净拷贝,然后在干净拷贝中执行这些步骤。
或者,您可以使用提供开箱即用的 Makefile
且不需要 CMake 的示例项目版本:
https://github.com/MRPT/mrpt/tree/master/doc/mrpt_example1-with-Makefile
这将在以下教程中介绍:
否则,如果您必须使用ccmake
:
首先,提取 mrpt_example1.tar.gz
内容的干净拷贝。
进入解压后的mrpt_example1
目录并运行:
ccmake .
这将显示一个带有以下选项的交互式对话框:
Press [enter] to edit option
Press [c] to configure
Press [h] for help Press [q] to quit without generating
Press [t] to toggle advanced mode (Currently Off)
按c
进行配置。屏幕顶部现在将显示:
CMAKE_BACKWARDS_COMPATIBILITY *2.4
CMAKE_BUILD_TYPE *
CMAKE_INSTALL_PREFIX */usr/local
EXECUTABLE_OUTPUT_PATH *
LIBRARY_OUTPUT_PATH *
MRPT_DIR */usr/share/mrpt
按c
重新配置。现在可以使用以下选项:
Press [enter] to edit option
Press [c] to configure Press [g] to generate and exit
Press [h] for help Press [q] to quit without generating
Press [t] to toggle advanced mode (Currently Off)
按 g
生成输出文件(包括 Makefile
)并退出。
注意生成了一个Makefile
:
$ ls -1
CMakeCache.txt
CMakeFiles
cmake_install.cmake
CMakeLists.txt
Makefile
README.txt
test.cpp
您可以运行make
来编译示例程序,然后在编译完成后运行示例程序,如上所述。
关于c++ - Ubuntu 上编译 MRPT 教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37365175/