背景
Ubuntu-server 16.04 下安装Qt 5.12.8,执行.run文件,会报如下错误
解决依赖
libfontconfig.so.1 和 其它的库
sudo apt-get install fontconfig
sudo apt-get install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libgconf2-4 libasound2 libatk1.0-0 libgtk-3-0
sudo apt-get install libxdamage1 libgtk-3-0 libasound2 libnss3 libxss1 -y
执行.run安装Qt,报错,缺少libxkbcommon-x11.so.0,安装libxkbcommon-x11。
sudo apt-get install libxkbcommon-x11-0
执行.run安装Qt,可以正常安装。安装完成后,在安装目录下的Tools/QtCreator/bin下运行qtcreator,新建工程,编译运行,报错。也就是显示qmake之后,不能进行make操作。
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
./qtcreator: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
安装libGL,执行
sudo apt-get install build-essential
sudo apt-get install libglu1-mesa-dev
但 libglu1-mesa-dev 不上,缺少太多依赖
解决方案
使用 aptitude 来安装 libgl1-mesa-dev。
参考博客libgl1-mesa-dev : 依赖: libgl-dev 但是它将不会被安装,执行
sudo apt-get install aptitude
sudo aptitude install libgl1-mesa-dev
选择NO NO YES YES 即可搞定。
编译内存占满
虚拟机的ubuntu service在编译大一点的工程的时候,报如下错误
irtual memory exhausted: Cannot allocate memory
解决方法
参考编译时:virtual memory exhausted: Cannot allocate memory
用swap扩展内存。
mkdir /opt/images/
sudo rm -rf /opt/images/swap
#创建一个大小为4G的文件/swap
sudo dd if=/dev/zero of=/opt/images/swap bs=4096 count=1M
#使用mkswap将/opt/images/swap文件格式化为swap的文件格式
sudo mkswap /opt/images/swap
#使用swapon将/opt/images/swap启动
sudo swapon /opt/images/swap
free -m
swapon 在虚拟机上可以,虽然会报错失败,当时在真机上是不能用swap扩展内存,应该是需要配置内核的。
连接显示器运行Qt报错
真机连接显示器,运行qtcreator报错
之前用终端MobaXterm运行qtcreator的时候,开启了x server,可以将转发x11连接到xmanager, 就能成功调用图形界面了。
解决方法【吐了,重启后不行了?待解决】:
直接安装下x11vnc
安装方法参考博客Ubuntu16.04安装x11VNC远程桌面,但在执行启动服务,x1vnc加入到开机启动时,会报错,报错如下图:
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service
#开启服务报错
catfish@ubuntu:~$ sudo systemctl enable x11vnc.service
Failed to execute operation: Invalid argument
手动开启报错信息如下:
但可以运行qtcreator 了。
注意
1. 如果运行还是缺少依赖库的话,安装如下库:
sudo apt-get install libxcb-xinerama0
sudo apt-get install libxkbcommon-x11-0
sudo apt-get install libx11-xcb1
sudo apt-get install libxcb-xkb1 libxcb-icccm4 libxcb-image0 libxcb-render-util0
先安装的依赖库,最后才安装的x11vnc。
2.最后运行qtcreator 环境是不支持中文的!!!
中文配置可以参考Ubuntu Server安装后中文环境配置。
总结
1.要有网,要不然环境的依赖太难配置了。
2.使用的是VMware 虚拟机,好像真机安装 libgl1-mesa-dev 可以直接 apt-get install,如果真机不行的话,可以用 aptitude 来执行安装。