ぼくの CMakeLists.txt
ファイルは:
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をコンパイルしようとすると、行き詰まってしまいました。
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で作業しています。
add_executableはターゲットを定義しますが、コードでは、ターゲットを定義しますafterコンパイルしようとします。
これら2つの行の位置を変更するだけです。
最初にターゲットを定義します
ライブラリをリンクします。
このような
add_executable(OpenCV_Basics ${SOURCE_FILES})
target_link_libraries(OpenCV_Basics )
CMakeコマンドがtarget引数を受け入れる場合、指定されたターゲットがすでに作成されているであると想定します。
正しい使い方:
# Create target 'OpenCV_Basics'
add_executable(OpenCV_Basics ${SOURCE_FILES})
# Pass the target to other commands
target_link_libraries(OpenCV_Basics ${OpenCV_LIBRARIES})