CMake не может найти исходный файл - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь настроить PCL с visual studio, но при использовании cmake я сталкиваюсь с ошибкой.Я использую pcl 1.8 с VS 2013 и cmake 3.14.Я мог успешно выполнить шаг настройки, но когда я перехожу к генерации, я сталкиваюсь с ошибкой 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})

Это ошибка, которую я получаю:

CMake Ошибка в CMakeLists.txt: 11 (add_executable):Не удается найти исходный файл: 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 Ответ

3 голосов
/ 15 марта 2019

Глядя на скриншот, вы должны назвать свой файл cloud_viewer.cpp, а не cloud_viewer.ccp.Будьте осторожны с расширением: cpp против ccp


В качестве примечания попробуйте использовать систему на основе cmake taget вместо каталога:

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})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...