cmake:静态链接到 opencv 库

时间:2021-06-24 20:47:18

标签: c++ opencv cmake

在 Ubuntu 20.04 上:

sudo apt install libopencv-dev

结果:

kwu@Dev-KWu:/usr$ find . -name "*opencv_imgproc*" -o -name "*opencv_core*"
./lib/x86_64-linux-gnu/libopencv_core.so
./lib/x86_64-linux-gnu/libopencv_core.so.4.2
./lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2.0
./lib/x86_64-linux-gnu/libopencv_imgproc.a
./lib/x86_64-linux-gnu/libopencv_core.a
./lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2
./lib/x86_64-linux-gnu/libopencv_imgproc.so
./lib/x86_64-linux-gnu/libopencv_core.so.4.2.0

CMakeLists.txt:

...
set(OpenCV_SHARED OFF) # found on internet, makes no difference to resulting ninja.build
set(OpenCV_STATIC ON) # found on internet, makes no difference to resulting ninja.build
find_package(OpenCV REQUIRED COMPONENTS imgproc core)
...
target_link_libraries(foo PRIVATE ${OpenCV_LIBS})

在 ninja.build 中的结果:

LINK_LIBRARIES = ... /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2.0 /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0 ...

静态链接 OpenCV 的妙招是什么?

0 个答案:

没有答案