note

一、一些报错

1.1 No such file or directory

这是缺乏头文件路径:

​ cmake结束后,在make时可能会报这类致命错误:fatal error: NvInfer.h: No such file or directory,像这个错误,我们比较清晰知道是自己在项目中使用了TensortRT,却没有指定这个路径,那就就需要在CmakeList.txt中添加这个路径,可能就是: ​ include_directories(/opt/TensorRT-7.2.3.4/include)
​ # 一般头文件都是在include

1.2 not defined environment variable

当看到类似这样的错误后:not defined environment variable:TENSORRT_ROOT_DIR,也是缺乏环境变量,直接在控制台添加临时变量即可: ​ export TENSORRT_ROOT_DIR=/opt/TensorRT-7.2.3.4/

Ps:注意等号两边不能有空格,且一般前面带ROOT时,都是最上面那级,是不带lib或是include的。

二、curl相关错误

curl包的下载地址:这里

使用curl常见错误:curl: symbol lookup error: curl: undefined symbol: curl_mime_filename

可能导致的原因:

  1. 版本过旧,需要更新一下,下去下载好想要的版本,然后:

    • tar -xzvf curl-7.55.1.tar.gz
    • cd curl-7.55.1
    • ./configure # 版本太高了的话,可能在执行此步骤时会报错
    • make
    • make install
    • curl –version # 完成的检查
  2. anaconda的影响

​ 验证是否是anaconda的影响,先输入命令:which cur(代表当前使用的curl),若得到的是类似这样的路径:your_install_path/anaconda3/bin/curl,说明是anaconda的问题,可以再执行whereis curl,发现我们想用的是/usr/bin/curl,也可能是/usr/local/bin/curl,解决办法:

​ 暂时把anaconda的环境your_install_path/anaconda3/bin注释掉,但是更好的还是降低anaconda环境变量的优先级,在~/.bashrc中将 export PATH=your_install_path/anaconda3/bin:$PATH 改成 export PATH=$PATH:your_install_path/anaconda3/bin

​ Ps:其它若有类似的情况,也可以尝试把anaconda的环境变量优先级调低,让系统的环境变量优先。

三、win下动态链接库

win10动态链接库下载地址:这里

​ 在一次使用vs2017+opencv时,报错提示VCRUNTIME140_1D.DLL找不到(这个经常找不到,我备份到onedrive的其它/windows相关(里面还有一个”微软常用运行库.exe”,解决不了的问题可试试看) 里了),这种大抵跟软件无关(应该也不是opencv的问题),是缺少了动态链接库(.dll文件),解决办法:在上面的下载地址找到自己缺少的.dll文件,文件下载后,解压,将其复制到C:\Windows\System32即可。

Ps:

四、python相关问题

powershell中无法切换conda虚拟环境

情况描述:(不是很建议这么做了,会扰乱环境变量,还是用anaconda自带的终端)

​ win10中,在powershell下使用conda activate 虚拟环境名称可能没有反应,在pycharm中的Treminal中也无法使用,然而使用cmd是可以的,那解决办法:

Ps:对于新版本的anaconda,应该都能解决,如果anaconda版本过低,建议升级,不升级就参考这里

包搜索路径的问题

​ 现象:若是意外把某个项目路径添加到python包的默认搜索路径,且搜索路径中一个包名与你正在写的项目中某个包同名,你在项目中导自己写的包时,因为会==优先搜索默认路径,并且在搜索到以后就不再搜索==,你就无法正确导入你想导入的包。

​ 默认搜索路径的查看方法:

from pprint import pprint
import sys
pprint(sys.path)

​ 解决办法:如果结果中有自己不想要的,删除的方法:在python导入目录(比如:your_path/anaconda3/envs/main/lib)下搜索.pth,一般包含setuptools.pth, easy-install.pth等,逐个打开找到并删除目标路径。


所以如果是要在路径中添加自己想要搜索的路径(一般都是代码中的临时添加):

import sys
sys.path.append("/home/songhui/123")
sys.path.insert(0, "/home/songhui/123")   # 这就确保可以先搜索这个路径

opencv包代码不提示也不能点进去

​ 就是代码能运行,但是具体函数点不进去,然后先弄一个虚拟环境,导包cv2,点进去,复制虚拟环境的__init__.py里的内容,然后切换到代码点不进去的的环境,再点进这个环境的cv2里,把它的__init__.py里的内容用刚才复制的全部替换了。

anaconda在菜单中没有显示

就是在win开始界面,找不到anaconda的安装文件夹了,使用它自带的cmd就很不方便,解决办法:

五、同一个局域网中,ping不通其他电脑

原因:

因为windows防火墙默认设置的是不让别人ping通的,所以方法就是,修改防火墙相关设置。

步骤:控制面板—>系统和安全—>Windows防火墙—>高级设置—>入站规则—>文件和打印机共享(回显请求 - ICMPv4-In)设置为==启用==。

如果是虚拟机能ping通百度,也能ping通宿主机,但是宿主机不能ping通虚拟机,这个时候就去看看VMware中虚拟网络编辑器以及网络设置中网段有没有设置成一致的。

六、Teamviewer

Teamviewer在重装系统后,使用时重新登录,就会说已经达到可使用设备的上限,

七、 /lib64/libstdc++.so.6: version `CXXABI_1.3.9’ not found

​ 出现上述错误的原因是:在升级gcc时,生成的动态库没有替换旧版本的动态库。

遇到这个错误:ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9’ not found,说明gcc的动态库版本过老了,就以2080ti来说,在使用yolox项目是就遇到了这个问题:

默认是用的/lib64/libstdc++.so.6 去到这里详看,版本是 libstdc++.so.6.0.19,

然后解决办法就是用anaoncda自带的库:export LD_LIBRARY_PATH=/root/anaconda3/lib:$LD_LIBRARY_PATH

然后去到/root/anaconda3/lib路径下,看到的版本就是 libstdc++.so.6.0.26

还有去改库的方法,看这里


以及用工业相机时SDK也是这个问题

可以执行命令去检查动态库:strings /usr/lib64/libstdc++.so.6 | grep CXXABI # 也能是查找“GLIBC”(这个的问题报错信息大概率就是/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found)

就会看到最高版本是不满要求的,会发现“strings /root/anaconda3/lib/libstdc++.so.6 grep CXXABI” 里有满足要求的,就可以用

/usr/lib64 和 /lib64 里面内容好像是一样的,用哪个都一样

八、NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

公司春节回来开启服务器后,输入nvidia-smi,就会得到标题那样的报错,针对ubuntu的话,网上看到比较多的

解决办法在这里,然后centos上类似用yum去处理,发现还是不行,然后发现根本问题是nouveau模块也在使用(lsmod grep nouveau 发现不为空),就需要将其禁用掉,步骤如下:

九、解决chrome的更新失败弹窗

点击chrome的快捷方式,然后在“目标(T)”那一列里,加上一个参数 –disable-background-networking 就可以了。(或许需要把桌面固定的chrome先取消掉,这里设置好后,点击打开后再固定一次)

参考的这里

当有中文的时候,在最开始加一行:# coding=utf-8 不然遇到中文的时候,会出现类似于这样的错误“Non-ASCII character ‘\xe6’”。

十、glibc编译的问题

看一下去这里下载,主要讲一下glic编译时,可能会报错一个:

1configure: error:

解决办法:

​ 在当前shell中执行export LD_LIBRARY_PATH=,相当于把LD_LIBRARY_PATH这个环境变量清空,然后再configure,就会成功。

十一、UE4注册时一直转圈

注册的时候,在注册界面那个继续按钮可能会一直转圈,,就没办法注册

或者是Epic平台无法登录,或是登录按钮一直转圈,那解决办法:

修改host文件,地址:C:\Windows\System32\drivers\etc\hosts

新增如下内容:

104.16.168.131 hcaptcha.com

104.16.168.131 newassets.hcaptcha.com

104.16.168.131 imgs.hcaptcha.com

安装更改一个缓存地址:这里

十二、github配置加速

方法一:

把这四个网站的地址复制到刚刚的完整进行查询,假如查询结果如下:

140.82.114.4 github.com 185.199.108.153 assets-cdn.github.com 185.199.109.153 assets-cdn.github.com # 这个暂时用用了两个 199.232.68.249 global.ssl.fastly.net 140.82.114.9 codeload.github.com

然后把内容写进去

# GitHub

140.82.114.4 github.com 185.199.108.153 assets-cdn.github.com 185.199.109.153 assets-cdn.github.com 199.232.68.249 global.ssl.fastly.net 140.82.114.9 codeload.github.com

方法二:

​ 去到GitHub520这项目里找到新的host地址。

十三、 error while loading shared libraries: libQt5Core.so.5

错误信息: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory”

这遇到两次了都是在docker容器中,用ubuntu安装好了qt的库,还是报这样的错,如果也可能是其它的动态库

解决办法: 全局搜索一下libQt5Core.so.5,前面安装环境都搞完的话,在docker容器中的/usr/lib/x86_64-linux-gnu里是有的,那就执行如下命令:(要注意 libQt5Core.so.5 所在的实际路径)

​ strip –remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5