编译opencv3.4.10-GPU cuda10.0时glog库出现问题

问题: “/usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-logging.o): relocation R_X86_64_PC32 against symbol `_ZN3fLI16FLAGS_logbufsecsE’ can not be used when making a shared object; recompile with -fPIC”

1.先尝试apt安装,其实这里的libglog.a和libglog.so应该就是apt安装的包里带的,不知道我的出了什么问题,libglog.so链接丢失,ls出来是红色的,然后apt重装不起作用

//安装
sudo apt-get install libgoogle-glog-dev
//卸载
sudo apt-get remove libgoogle-glog-dev

2.glog库编译安装方式解决

2.1先看下怎么安装,比较简单

https://blog.csdn.net/qq_22634949/article/details/101718879

注意如果要得到libglog.a,需要设置 -DBUILD_SHARED_LIBS=OFF,建议只安装共享库到系统,静态库只是make一下不要make install
2.2解决: 出现问题提示的原因是 recompile with -fPIC,即使用fpic重新编译glog库,手动编译glog共享库安装在/usr/local/lib/路径下,静态库可以只编译不安装,这里将编译好的glog静态库的libglog.a拷贝到/usr/lib/x86_64-linux-gnu/,即
sudo cp libglog.a /usr/lib/x86_64-linux-gnu/libglog.a

这里的libglog.a在编译时的build文件目录下

同时链接一下共享库,否则还会报错,先删除之前的共享库
sudo rm -rf /usr/lib/x86_64-linux-gnu/libglog.so 
sudo ln -s /usr/local/lib/libglog.so /usr/lib/x86_64-linux-gnu/libglog.so 
然后刷新一下
sudo ldconfig

然后再编译opencv就可以了

出现错误

[ 92%] Linking CXX executable ../../bin/opencv_test_sfm
../../lib/libopencv_sfm.so.3.4.10:对‘google::InitVLOG3__(int**, int*, char const*, int)’未定义的引用
../../lib/libopencv_sfm.so.3.4.10:对‘google::kLogSiteUninitialized’未定义的引用

关闭BUILD中的TEST项,即-DBUILD_TESTS=OFF可通过。

写的很乱,见谅!!

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Win10 VS2019上编译安装OpenCV-7.0 CUDA可以按照以下步骤进行: 1. 首先,下载并安装CUDA Toolkit。可以从NVIDIA官方网站上下载最新版本的CUDA Toolkit,并按照它的安装向导进行安装。 2. 下载OpenCV源代码。可以从OpenCV官方网站上下载最新版本的OpenCV源代码,并将其解压到一个合适的文件夹中。 3. 打开Visual Studio 2019,并在创建新项目选择“空项目”。 4. 在解决方案资源管理器中,右键单击项目,并选择“属性”。 5. 在属性对话框中,选择“VC++目录”,然后选择“包含目录”。将OpenCV源代码中的“include”文件夹路径添加到包含目录中。 6. 再次在属性对话框中,选择“链接器”,然后选择“常规”。将OpenCV源代码中的“lib”文件夹路径添加到目录中。 7. 然后,在链接器中选择“输入”。将以下文件添加到附加依赖项中:opencv_corexxx.lib、opencv_highguixxx.lib、opencv_imgprocxxx.lib(其中“xxx”表示版本号)。 8. 配置好属性后,按下F7键进行编译,并等待编译完成。 9. 编译完成后,在OpenCV源代码的构建文件夹中找到“bin”文件夹,将其中的所有DLL文件复制到系统的PATH环境变量中。 10. 最后,在项目中使用OpenCV-7.0 CUDA进行开发。可以通过引入相关头文件和使用OpenCV的相关函数来进行开发。 通过以上步骤,您可以在Win10 VS2019上成功编译安装OpenCV-7.0 CUDA,并在项目中使用相关功能进行开发。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值