export PATH=/opt/
Qt
5.12.10/5.12.10/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/opt/
Qt
5.12.10/5.12.10/gcc_64/lib:$LD_LIBRARY_PATH
export
QT
_PLUGIN_PATH=/opt/
Qt
5.12.10/5.12.1
undefined
symbol
: _
ZdlPvm
,
version
Qt
_5错误以及error while loading shared libraries: xxx.so解析
编译gazebo运行出错记录
#### 1、libgazebo_common.so.11
gazebo: error while loading shared libraries: libgazebo_common.so.11: cannot open shared object file: No such file or directory
看到这个错误有人会让你下载对应版本libgazebo11-dev,然而编译最新版就没办法这样解决。如果你编译的是旧版,可以apt-get install.
这个问题主要是Ubuntu自带的环境和用户自己安装的环境有冲突不兼容所造成的,这个与Ubuntu的运行机制有关。因为
Qt
启动程序默认在 /usr/lib/ 目录下查找lib
Qt
5Core.so.5动态链接库,而我自己安装的lib
Qt
5Core.so.5动态库在/home/XXX(用户名)/
Qt
5.9.5/5.9.5/gcc_64/lib下,二者是不兼容的(尽管二者名字看起来一样)
思路:既然
qt
会去/usr/lib/ 目录下查找,那么就先把/usr/lib/lib
Qt
5Core.so.5先
操作系统:Ubuntu 16.04
问题描述:
在终端启动gedit命令或者vscode命令报错:gedit:
symbol
lookup error: /home/chujie/anaconda3/lib/libgobject-2.0.so.0:
undefined
symbol
: g_date_copy
问题分析:
导致错误的原因应该是gedit依赖libgobject-2.0.so库,而/home/chujie/anaconda3/lib下的这个库版本不对,没有对应的符号。
因此解决的思路是从系统中找到正确的依赖库。
查找系统中存在的libgobject库:
locate libgob
在linux下对开发的
Qt
应用,进行拷贝依赖文件dll等,并打成deb安装包;
实现可安装、卸载,安装完毕自动在开始菜单下和桌面添加快捷方式;
卸载后自动删除快捷方式,以及删除应用生成的log文件。
测试环境:ubuntu 16.04
一、使用linuxdeploy
qt
拷贝依赖文件
win系统下有个自动拷贝依赖文件的工具windeploy
qt
,而linux系统下也有个类似的工具,叫linuxdeploy
qt
,原理一个意思。
1. 下载linuxdeploy
qt
https://blog.csdn.net/vickycheung3/article/details/82182136
https://blog.csdn.net/lizuobin2/article/details/52673494
前面移植了LittlevGL到嵌入式ARM系统,想到LittlevGL毕竟是一个小型的图形库,无法完成复杂的应用,同时之前还没有接触过
QT
应用开发,...
undefined
symbol
: _Py_ZeroStruct是一个常见的错误,通常会在使用Cython编译
Python
代码时出现。这个错误表示在编译过程中找不到_Py_ZeroStruct符号的定义。
解决这个问题的方法之一是确保你的
Python
解释器和Cython版本相匹配。如果你使用的是
Python
2.x版本,那么需要使用相应版本的Cython。同样地,如果你使用的是
Python
3.x版本,那么需要使用与之兼容的Cython版本。
另外,你还可以尝试重新安装Cython并确保它与你的
Python
解释器完全兼容。你可以使用pip命令来安装最新版本的Cython:
pip install --upgrade cython
如果问题仍然存在,那么可能是因为你的编译环境不正确。你可以尝试重新设置你的编译环境,并确保所有依赖项都正确安装。
此外,你还可以参考引用中提供的链接,该链接中提供了一些关于
undefined
symbol
错误的具体排查方法和解决方案。
总结来说,当出现
undefined
symbol
: _Py_ZeroStruct错误时,你应该检查你的
Python
解释器和Cython版本是否匹配,并确保你的编译环境正确设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>