2017-04-06 92 views
0

CMakeLists.txt文件「的目標不受該項目建成」是:CMake的錯誤:

cmake_minimum_required(VERSION 3.7) 
project(OpenCV_Basics) 

set(CMAKE_CXX_STANDARD 11) 

set(SOURCE_FILES main.cpp) 

find_package(OpenCV REQUIRED) 
include_directories(${OpenCV_INCLUDE_LIBS}) 
target_link_libraries(OpenCV_Basics) 

add_executable(OpenCV_Basics ${SOURCE_FILES}) 

當我試圖編譯main.cpp中,我得到了stucked。

CMake Error at CMakeLists.txt:10 (target_link_libraries): 
    Cannot specify link libraries for target "OpenCV_Basics" which is not 
built 
    by this project. 

怎麼了?

我在Mac上使用Clion。

回答

1

add_executable定義了一個目標,但在你的代碼中試圖編譯後確定的目標

只是改變這兩條線的位置:

  • 首先定義目標

  • 鏈接庫中。

這樣

add_executable(OpenCV_Basics ${SOURCE_FILES}) 
target_link_libraries(OpenCV_Basics) 
2

當任何CMake命令接受目標參數時,它預計給定目標爲已創建

正確的用法:

# Create target 'OpenCV_Basics' 
add_executable(OpenCV_Basics ${SOURCE_FILES}) 
# Pass the target to other commands 
target_link_libraries(OpenCV_Basics ${OpenCV_LIBRARIES})