我正在尝试使用cmake
和make
编译库的一部分。当我运行包含失败的Make
时,我收到错误:
/home/user/Sean/PCL/pcl/apps/src/face_detection/openni_face_detection.cpp:9:57: fatal error: pcl/apps/face_detection/openni_frame_source.h: No such file or directory compilation terminated.
我知道使用gcc
,您可以让编译器向您读取包含它的位置,但是有没有办法通过make
和cmake
完成此操作。
答案 0 :(得分:2)
如果CMake自动生成Makefile
,您可以像这样启动make
:
> make VERBOSE=1
将目标的进展与正在执行的实际命令make
交错。
从这些命令中,您应该能够提取当前包含路径。
您可能想要查看include_directories
CMake命令,
如果某些包含路径丢失。
答案 1 :(得分:0)
我正在使用mingw32在SUSE Linux上交叉编译Win32目标。传统的详细/调试选项都没有提供#include
搜索路径。
这迫使我(懒惰的)手手动再现最终显示标题搜索路径的编译操作。
简要说明...
--help
选项执行编译器。注意其 verbose 选项。这就是我得到的...
#include "..." search starts here:
#include <...> search starts here:
/home/me/rpmbuild/BUILD/the-app-0.0.0/core/src/win32/include
/home/me/rpmbuild/BUILD/the-app-0.0.0/core/src/win32/compat/include
/home/me/rpmbuild/BUILD/the-app-0.0.0/core/src
/home/me/rpmbuild/BUILD/the-app-0.0.0/core/src/win32/generic
/home/me/rpmbuild/BUILD/the-app-0.0.0/core/src/win32/filed
/usr/lib64/gcc/x86_64-w64-mingw32/8.2.0/include/c++
/usr/lib64/gcc/x86_64-w64-mingw32/8.2.0/include/c++/x86_64-w64-mingw32
/usr/lib64/gcc/x86_64-w64-mingw32/8.2.0/include/c++/backward
/usr/lib64/gcc/x86_64-w64-mingw32/8.2.0/include
/usr/lib64/gcc/x86_64-w64-mingw32/8.2.0/include-fixed
/usr/x86_64-w64-mingw32/sys-root/mingw/include
End of search list.
还不错...
顺便说一句,这是cmake 3.5.2的配置。