构建 OpenCV 时出错:"recompile with -fPIC"
Error while building OpenCV: "recompile with -fPIC"
我在本指南的帮助下在Linux上安装OpenCV.html
在最后一步,我收到以下错误。我试图在 cmake-gui 中添加fPIC
,但仍未解决问题。在CMAKE-GUI中,我创建了一个新的名称值条目:CXX_FLAG -fPIC
-不确定这是否是正确的方法。
make -j
Linking CXX shared library ../../lib/libopencv_java331.so
/usr/bin/ld: CMakeFiles/opencv_java.dir/generator/src/cpp/listconverters.cpp.o: relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
CMakeFiles/opencv_java.dir/generator/src/cpp/listconverters.cpp.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libopencv_java331.so] Error 1
make[1]: *** [modules/java/CMakeFiles/opencv_java.dir/all] Error 2
make: *** [all] Error 2
更新:CMAKE-GUI中的正确标志是cmake_cxx_flags。configure, generate and make -j
之后仍未出错。
好。这是对我有用的。
$ export JAVA_HOME=/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64 //replace with your JDK path
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=. ..
$ make -j
BUILD SUCCESSFUL
Total time: 10 seconds
相关文章:
- 将静态库链接到不带-fPIC的共享库中
- mapreduce c编程与-fPIC链接失败,如何解决?
- 解决方法:'can not be used when making a shared object; recompile with -fPIC'使用Cmake。使用普通的 g++ 工作
- OBJDUMP给出了具有和没有-fpic的对象文件的相同输出
- 为什么我需要-FPIC来与 - 未分辨 - 符号=忽略对象的文件
- 构建 boost 1.61 iostream 时出错 - 使用 -fPIC 重新编译
- 链接QT5库会自动将额外的FPIC标志传递给NVCC编译器,并通过cmake Cause错误
- gcc -fPIC vs. -shared
- 除了共享库之外,g++ -fPIC 也适用于可执行文件
- 构建 OpenCV 时出错:"recompile with -fPIC"
- 在创建共享对象时,不能使用针对未定义符号的重定位R_X86_64_PC32;使用-fPIC重新编译
- g++将静态库链接到动态库(不带-fPIC)
- G -FPIC不产生位置独立代码
- GCC vs Clang:将功能与-FPIC一起插入
- 为什么包括-FPIC来编译静态库会在运行时会导致分割故障
- (PPC64le) 链接到 protobuf 的模块的节点 gyp 重建失败,"lacks nop, can't restore toc; recompile with -fPIC"
- 添加 -fPIC 编译标志后"Recompile with -fPIC"错误仍然存在
- 链接错误:"relocation R_X86_64_32 ... can not be used when making a shared object; recompile with -fPIC"
- 将静态 (.a) 库与共享 (.so) 库链接,得到错误"relocation R_X86_64_32S against a local symbol; recompile with -fPIC"
- "Recompile with -fPIC" - 但是使用 -fPIC 重新编译无法修复