CMake добавляет библиотеки OpenCV из строя - PullRequest
0 голосов
/ 14 марта 2019

Мне нужно контролировать порядок библиотек во время компоновки, но CMake делает странные вещи с библиотеками OpenCV.См. Следующий файл CMakeLists.txt:

cmake_minimum_required(VERSION 3.13)
project(cvtest)

set( CMAKE_VERBOSE_MAKEFILE on )

add_executable(cvtest "test.cpp")

find_package(OpenCV 3 REQUIRED core)
target_link_libraries(cvtest ${OpenCV_LIBS} FOO)

При создании результирующего make-файла библиотеки связываются в следующем порядке:

libopencv_core.3.4.2.dylib -lFOO

Пока все хорошо (FOO должен идти последним),Однако, если я добавлю еще одну библиотеку opencv:

cmake_minimum_required(VERSION 3.13)
project(cvtest)

set( CMAKE_VERBOSE_MAKEFILE on )

add_executable(cvtest "test.cpp")

find_package(OpenCV 3 REQUIRED core highgui)
target_link_libraries(cvtest ${OpenCV_LIBS} FOO)

, тогда компоновщик получит библиотеки в следующем порядке:

libopencv_highgui.3.4.2.dylib -lFOO libopencv_videoio.3.4.2.dylib libopencv_imgcodecs.3.4.2.dylib libopencv_imgproc.3.4.2.dylib libopencv_core.3.4.2.dylib

Важно, что FOO больше не является последним!Я перепробовал все, но не могу отобразить FOO в конце списка ссылок.Кто-нибудь знает, как это можно сделать?

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...