1、创建thread对象时提示thread未定义。
主要原因是mingw/gcc版本老旧,因为官网中更新的仅到8.x.x,可至https://github.com/niXman/mingw-builds-binaries/releases网站下载新的版本(至少>8)。
2、thread对象的形参无法被识别/匹配。
虽然mingw是新的版本,但x86_64-12.2.0-release-win32-seh-rt_v10-rev0.7z(win32)的版本仍旧有一些缺失,需要下载带有posix的x86_64-12.2.0-release-posix-seh-rt_v10-rev0.7z版本即可完成编译。
3、在容器中git clone失败
无法通过ssh链接或者无法访问git的问题导致git clone失败,网上的办法也试了一些但是都不稳定,此时需要在clone的网站前添加http://ghproxy.com/的proxy的代理。例如:git clone http://ghproxy.com/https://github.com/PaddlePaddle/X2Paddle.git。即可正常进行git clone。
4、paddledetection推理报错
yolo_box->“X” need tensor ,but get tensor;升级pandledetection版本即可。pd2.3->2.4->2.6一直试到最新版本(tips:paddledetection版本并不是paddle的版本)。
# 使用git clone时指定paddledetection的版本
git clone github.com # 正常git clone
cd gitfile/
git reset --hard commit_num # commit_num为项目右上角中的版本号
5、vscode突然无法连接服务器
日常都可以使用vscode远程连接服务器,突然无法连接,可尝试两个解决办法:
1、删除C:/user/xxx/.ssh/config,然后重新在vscode中重新写入需要远程连接的ip,name和port。
2、也有可能是服务器上的内存满了,可以使用xshell登录服务器,输入df -m
查看root的内存占用情况。
6、x2paddle模型格式转换报错(onnx-paddle)
报错提示:onnx.onnx_cpp2py_export.checker.ValidationError: Your model ir_version is higher than the checker’s.此时需要更新一下onnx库:pip install --upgrade onnx
。
7、vscode左侧不显示远程资源管理器
vscode左侧无远程资源管理器,导致每次远程连接服务器都需要进行ssh连接,很麻烦。出现的原因是因为Remote Explorer未安装或者模型卸载了,安装Remote Explorer即可恢复左侧的远程资源管理器。
8、vscode中ctrl+鼠标左键无法跳转函数实现
由于是远程连接服务器查看服务器代码,所以还需要在vscode中给服务器也安装C/C++扩展,这样就能实现查看服务器代码时的函数跳转。
9、vscode中include标红线/无法编译执行hello world
关于Include的问题,可以通过快捷键shift + ctrl + p进入intelligent,搜索c/c++在编译选择中将cl.exe替换为g++.
无法编译执行hello world的问题,可能也是需要选择上述的编译器,或者是缺少部分的环境变量设置。
10、vscode中main函数涉及到多个.cpp文件无法直接执行
vscode与vs编译器有所区别,.cpp文件需要先编译再执行,而vs应该是会默认编译该文件夹下的所有文件(比如不会每个文件都生成一个exe),而vscode默认仅编译当前文件,所以造成当前文件执行时并不会连带编译需要调用的文件,进而产生找不到相关类的错误。
解决这个问题需要用命令行一次性编译所有需要的cpp文件,统一生成一个exe程序即可。
g++ SpeechCompProj.cpp speechManager.cpp -o SpeechCompProj
其中前面两个.cpp是需要进行编译的文件名,后面的名字按照包含main函数的cpp名进行命名。然后使用命令.\SpeechCompProj执行生成的exe文件。
若终端在输出汉字时出现乱码问题,可以在终端中输入chcp 65001
(windows),export LANG=en_US.UTF-8
(Max & Linux).
11、vscode输出乱码
在控制台输入 chcp 65001
,可能仅当次有效。
12、本地git项目全部被当做已修改
通过vscode打开本地项目时发现所有文件均被当做已修改,并且使用vscode文件树查看时发现并无修改,所以可能不是文件本身的问题。尝试使用git diff --summary
查看文件权限是否发生了变化,如果全部的文件权限均变化,则就是这个原因导致的问题,可以使用git config core.fileMode false
忽略文件权限的变化(此命令只会影响到个人的本地项目,不会影响到仓库)。
13、计算盒上的tfcard中的文件仅能通过命令更改,无法手动更改。
导致具体的原因未知,但结果是无法通过xshell或者vscode拖拽上传文件(可以拖拽下载),而使用终端命令行可以处理文件内容。
解决方法:首先查看tfcard格式,如果是FAT格式(格式较旧,通过更改用户组等形式更改其权限无法生效),那么需要将其格式化为ext4格式,然后重新挂载,最后使用chmod给/mnt/*(不是/mnt/tfcard/*)权限即可。