我不知道什麼是使用CMake的文件的限制(我猜的,尤其是使用子目錄和/或庫,以及可執行文件的位置)的KDevelop和CMake的合作
(當我用瑣碎的Hello示例,Kdevelop可以很好地工作,我甚至可以調試我的項目,當我試圖將它接近我的真實目標項目時,我編輯CMakeList.txt文件以在子目錄中創建庫,並將可執行文件移動到一個單獨的子目錄中,KDevelop獲取部分工作:它構建可執行文件,可執行文件在獨立模式下工作,但不在KDevelop下工作,當然我不能調試。)
我想某種可見性問題會發生g:即,雖然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)
我猜想KDevelop在其對CMake腳本的「理解」中有不可避免的侷限性。大多數「IDE」在「支持」構建系統中確實很愚蠢 - 它們使用非常簡單的「模板」,它適用於「HelloWorld」級別的應用程序(並強制您在編寫構建腳本時遵循一些愚蠢和隱含的規則),但不能對於「真實世界」... – zaufi 2015-04-09 14:13:51