下面的指示在这里找到:https://docs.opencv.org/4.8.0/db/d05/tutorial_config_reference.html我正在尝试在Ubuntu 23.10中编译、构建和安装OpenCV 4.8
我整理了一下:
raphy@raohy:~/builddir-opencv$ cmake CXXFLAGS="$CXXFLAGS -fPIC"
-DOPENCV_FORCE_VTK=TRUE -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-
4.x/modules ../opencv-4.x
字符串
没有任何错误
但是,在建筑阶段,我得到这样的错误:
[ 94%] Linking CXX shared library ../../lib/libopencv_sfm.so
/usr/bin/ld: /usr/local/lib/libgflags.a(gflags_completions.cc.o): warning: relocation against `_ZN3fLS25FLAGS_tab_completion_wordB5cxx11E' in read-only section `.text.startup'
/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
gmake[2]: *** [modules/sfm/CMakeFiles/opencv_sfm.dir/build.make:242: lib/libopencv_sfm.so.4.9.0] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:7756: modules/sfm/CMakeFiles/opencv_sfm.dir/all] Error 2
型
如何让它发挥作用?
1条答案
按热度按时间lzfw57am1#
我解决了这个问题,感谢这个github的讨论建议:
https://github.com/google/glog/issues/680#issuecomment-1270588709
我首先编译并构建了
gflags
库(https://github.com/gflags/gflags),并带有-DBUILD_SHARED_LIBS=ON
标志:cmake -DBUILD_SHARED_LIBS=ON -B build
。然后编译并构建了glogs
库(https://github.com/google/glog)。opencv-4.x
库的构建阶段进行得很顺利,很好