У меня есть программа на C ++, которую я пытаюсь сделать с помощью CMake. Часть cmake, кажется, идет хорошо, я получаю следующие сообщения, когда я запускаю cmake .. в каталоге сборки:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/program/build
Но когда я запускаю make -i, я получаю следующие ошибки:
Scanning dependencies of target project
[100%] Building CXX object CMakeFiles/project.dir/project.cpp.o
Linking CXX executable project
c++: error: CMakeFiles/project.dir/project.cpp.o: No such file or directory
[100%] Built target project
Так я где-то пропускаю шаг? Нужно ли вручную создавать объектный файл в CMakeLists.txt где-нибудь? Спасибо!
CMakeLists.txt:
cmake_minimum_required (VERSION 3.0)
project (Project)
#include header files
include_directories(~/project)
set(SOURCES project.cpp ~/project/pmddatadescription.h ~/project/pmdsdk2.h ~/project/pmdsdk2common.h ~/project/stdafx.h)
# PCL
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
# VTK
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
# add the executable
add_executable(project project.cpp ${SOURCES})
#link installed libraries
target_link_libraries (project ${PCL_LIBRARIES})
target_link_libraries(project ${VTK_LIBRARIES})
#link .so libraries
target_link_libraries(project ~/project/libpmdaccess2.so)
Может быть, дело в -i
вариант?
-i, --ignore-errors
Ignore all errors in commands executed to remake files.