cmake 成功后, make 出现 No such file or directory 问题解决

出现这种问题是说明没有找到相关的文件,例如:

<gio/gio.h> No such file or directory

查看CMakeLists.txt, 发现包含的该头文件确实没有 include 进去

 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/_dev-fs/usr/include/libmm-glib)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/_dev-fs/usr/include/ModemManager)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/_dev-fs/usr/include/libnm)

后加入

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/_dev-fs/usr/include/gio)

这个文件夹是确实存在的,里面的gio.h也存在,但是还是报同样的问题,弄了半天都卡在这里了,结果最后发现应该是路径上的问题,

应为在预处理依赖头文件的过程中是按照你加入的路径去找的(<gio/gio.h> 前面有个文件夹gio),也就是 include_directories 进去目录是作为寻找的根目录,也就是起始目录,

结果找到的是 .../_dev-fs/usr/include/gio/gio/gio.h, 这个路径当然不存在,所有应该是加入

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/_dev-fs/usr/include)

即路径是 .../_dev-fs/usr/include/gio/gio.h

这样就可以找到了,问题解决!!!!!!!!!!!!!!!!!

猜你喜欢

转载自www.cnblogs.com/Jokeyyu/p/9046022.html