CMake找不到源文件

时间:2019-03-15 18:00:32

标签: c++ cmake

我正在尝试使用Visual Studio配置PCL,但是使用cmake时遇到错误。我在VS 2013和cmake 3.14中使用pcl 1.8。我可以成功完成配置步骤,但是当我进行生成时,确实遇到了add_executable错误。

这是我的cmakelists

cmake_minimum_required(VERSION 2.8 FATAL_ERROR) 
project(cloud_viewer)

find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS}) 
link_directories(${PCL_LIBRARY_DIRS}) 
add_definitions(${PCL_DEFINITIONS})

add_executable (cloud_viewer cloud_viewer.cpp) 
target_link_libraries (cloud_viewer ${PCL_LIBRARIES})

这是我得到的错误:

  

CMakeLists.txt:11(add_executable)的CMake错误:找不到源   文件:cloud_viewer.cpp尝试扩展名.c .C .c ++ .cc .cpp .cxx .cu   .m .M .mm .h .hh .h ++ .hm .hpp .hxx .in .txx CMake错误于   CMakeLists.txt:11(add_executable):没有为目标指定来源:   cloud_viewer


显示CMakelists.txt和cloud_viewer都在同一文件夹中的图像

[enter image description here

任何人都可以帮助我解决它。预先感谢。

1 个答案:

答案 0 :(得分:3)

查看屏幕快照,您应该将文件命名为cloud_viewer.cpp,而不是cloud_viewer.ccp。请注意扩展名:cppccp


另一方面,请尝试使用基于cmake标签的系统而不是基于目录的系统:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR) 
project(cloud_viewer)

find_package(PCL 1.2 REQUIRED)

add_executable(cloud_viewer cloud_viewer.cpp) 
target_link_libraries(cloud_viewer PUBLIC ${PCL_LIBRARIES})
target_compile_definitions(cloud_viewer PUBLIC ${PCL_DEFINITIONS})
target_include_directories(cloud_viewer PUBLIC ${PCL_INCLUDE_DIRS})