我用cmake组织c++工程,我想编译一个可执行文件,当我build时:
mkdir build
cd build
cmake ..
make
最后一步make时遇到:
/usr/bin/ld: 找不到 -lopencv_core
我的cmakelists.txt如下:
cmake_minimum_required(VERSION 3.10)
project(test)
include_directories(./include)
add_executable(${PROJECT_NAME} ./main.cpp)
link_directories("/opt/tools/opencv-2.4.13.6/build/lib")
target_link_libraries(${PROJECT_NAME}
libopencv_core.so
libopencv_highgui.so)
经过一些探索,发现,
遇到这个问题的原因是add_executable(${PROJECT_NAME} ./main.cpp)
的位置不对,把他放在link_directories("/opt/tools/opencv-2.4.13.6/build/lib")
之后,一切就都正常了。正确的CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.10)
project(test)
include_directories(./include)
link_directories("/opt/tools/opencv-2.4.13.6/build/lib")
add_executable(${PROJECT_NAME} ./main.cpp)
target_link_libraries(${PROJECT_NAME}
libopencv_core.so
libopencv_highgui.so)