我想知道使用CMake文件的限制是什么(我想,特别是使用子目录和/或库,以及可执行文件的位置)
(当我使用简单的Hello示例时,KDevelop工作正常,我甚至可以调试我的项目。当我尝试将其接近我的真实目标项目时,我编辑CMakeList.txt文件以在子目录中创建库,并将可执行文件移动到一个单独的子目录中,KDevelop部分工作:它构建可执行文件,可执行文件在独立模式下工作,但不在KDevelop下工作,当然我无法调试。)
我想某种可见性问题正在发生:即虽然CMake认为我的安排是正确的(即产生正确的Makefile甚至是可执行文件),但KDevelop会以某种方式丢失,因为它没有在该地方看到某些文件期待,它停止工作。是否有任何规则集,什么不在CMake中使用?
对于任何情况,我附上我的cmake文件(主要文件和库文件)。我做错了吗?
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(kmanycore CXX C)
include_directories(../lib)
add_subdirectory(lib)
add_executable(../bin/kmanycore ../src/main.cpp)
add_executable(../bin/kmanycore_test ../src/main_test.cpp)
target_link_libraries(../bin/kmanycore manycore)
target_link_libraries(../bin/kmanycore_test manycore)
和
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
add_library(manycore src/ToDo.cc)
答案 0 :(得分:0)
您的CMake文件看起来很奇怪,我不是IDE。
add_executable
的第一个参数是可执行文件的名称,没有路径。它通过简单的Makefile改变。与target_link_libraries
相同。目前还不清楚这两个项目是谁相互关联的。通常IDE会跟踪单个项目;交织的不受支持。