Linux发行版的选择

  • Ubuntu LTS
  • openSUSE
  • Centos

尽量优选Ubuntu, 用户开发者多,而且较大的公司的开源项目测试Linux平台也是优先Ubuntu。

openSUSE也不错。但是大环境还是ubuntu。

安装常用的开发工具(这里针对C/C++/Qt)

  1. 先换源. 不然下载速度不给力。推荐清华或者科大的源 (software & update中设置)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential -y
sudo apt-get install git -y
sudo apt-get install gcc -y
sudo apt-get install g++ -y
sudo apt-get install cmake -y
sudo apt-get install vim -y
sudo apt-get install subversion -y

也可以一次性安装多个。中间用空格分割就行了。

sudo apt-get install build-essential -y 最好先运行一下这个。

sudo apt install gcc g++ cmake git subversion vim -y

 推荐一个vim的配置方案 https://github.com/chxuan/vimplus

注意:在centos和openSUSE上不是g++

yum install gcc

yum install gcc-c++

zypper install gcc

zypper install gcc-c++

卸载Ubuntu上不常用的软件

安装openGL

参考:https://www.linuxidc.com/Linux/2017-03/141555.htm

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev // 这两个是OpenGL Utility Toolki。两个任选一个
sudo apt-get install libglut-dev
// 或者,建议这个
sudo apt-get install freeglut3-dev

中文输入法

搜狗拼音Linux版(不用这个也行,选择其他的。github上有。吐槽一下,centos自带的是真垃圾)

安装搜狗输入法

需要先安装fcitx框架

sudo apt install fcitx-bin -y
sudo apt install fcitx-table -y

或者按照搜狗官方的提示方法安装fcitx

然后去搜狗的官网下载deb包,然后用Ubuntu自带的Ubuntu Software安装。或者 dpkg -i xxx.deb

然后需要重启(需要重启才行)。

安装sublime text

sublime text 或者vscode vscode更为强大,sublime更快更轻

安装vscode

去官网看doc。有不同系统的配置方案。链接

apt-get常用命令

apt学习

APT Vs. apt

不开发qt,就使用qt的IDE配合cmake开发cpp。(类似clion)

Qt环境

Qt 下载 Qt科大镜像下载链接

下载适合你平台的安装包。win和macOS平台直接点击安装就行了。

这里稍微说一下Linux下的

// xxx代表版本号
chmod a+x ./qt-opensource-linux-x64-xxx.run
sudo ./qt-opensource-linux-x64-xxx.run

安装最好是普通用户下,但是安装时候用 sudo来安装。 这样安装到/opt/下去。方便所有用户使用。

不做Qt开发可以只下载Qt的IDE--QtCreator。 (CLion 写C/C++ 也不错。不过更多人的是用vim。)

对于Linux系统,Qt官方的安装包总是假定C++编译器compiler、调试器debugger、生成器make以及其他开发工具由该操作系统自己提供,另外构建Qt图形界面程序还需要OpenGL库文件(扩展名为 .a 和 .so)和头文件(扩展名为 .h), OpenGL的开发库也是需要操作系统自己提供。所以在安装Qt官方run文件之前,必须先安装好Linux系统自己软件源里面 的GNU开发工具集和OpenGL开发库。下面针对三类 Linux 操作系统安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都需要root权限,并且要联网安装。

Qt常见问题的配置

  1. Linux Qt cannot find -lGL错误

openSUSE

find /usr -name libGL*

tudou@linux:~> find /usr -name libGL*

/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.7.0
/usr/lib64/libGLESv1_CM.so.1
/usr/lib64/libGLESv1_CM.so.1.2.0
/usr/lib64/libGLESv2.so.2
/usr/lib64/libGLESv2.so.2.1.0
/usr/lib64/libGLX.so.0
/usr/lib64/libGLX.so.0.0.0
/usr/lib64/libGLdispatch.so.0
/usr/lib64/libGLdispatch.so.0.0.0
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.1
/usr/lib64/libGLX_indirect.so.0
/usr/lib64/libGLX_mesa.so
/usr/lib64/libGLX_mesa.so.0
/usr/lib64/libGLX_mesa.so.0.0.0

创建链接

Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,需要root权限

sudo ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so

centos7

find /usr -name libGL

or

locate libGL

# output
# 查找 libGL 所在位置
[root@localhost ~]# locate libGL
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0
/usr/share/doc/mesa-libGL-9.2.5
/usr/share/doc/mesa-libGL-9.2.5/COPYING
# 创建链接
# Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,需要root权限
[root@localhost ~]# sudo ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so

Ubuntu,ta有点特殊

find /usr -name libGL*
# output
gsw@ubuntu:~$ find /usr -name libGL*
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLX.so.0
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 #创建软链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so

更改Qt安装文件的默认权限

文件的所有者的权限是可以更改文件的。我个人认为这样不太妙,当我用refactor批量改字段名的时候可能发生意外。

但是最好不要这样。

建议把重要文件夹所有用户的权限都修改为 Read-Only ,Access files

最新文章

  1. 【干货分享】流程DEMO-制度发文和干部任免
  2. JavaScript类型判断instanceof与typeof对比
  3. 【经验】Maven Tomcat8+ 实现自动化部署
  4. iOS获取流量参考
  5. Spark 1.1.0 编译(为了支持hbase 0.98.6)
  6. 价值100W的经验分享: 基于JSPatch的iOS应用线上Bug的即时修复方案,附源码.
  7. StackTrace,Trim
  8. 注册微信小程序
  9. (原)Struts 相关资源下载
  10. CODEVS 2451 互不侵犯
  11. 用反射写自己的DataTable转为对应的Mod
  12. [leetcode-575-Distribute Candies]
  13. Centos7 安装python3
  14. python基础13_zip_import
  15. Go语言学习笔记(五) [函数]
  16. python 进程之间的数据共享
  17. Linux:配置samba服务
  18. [转帖] K8S 常用命令
  19. 大型电商业务架构 IT大咖说 - 大咖干货,不再错过
  20. ios开发之--AVAudioPlayer/AVPlayer的应用

热门文章

  1. 修改VirtualBox中mac的分辨率
  2. SpringCloud教程第1篇:Eureka(F版本)
  3. shell 脚本操作informix数据库
  4. skywalking中表字段的信息
  5. Java并发包JUC核心原理解析
  6. 呼~~~~--历时几个星期终于搞好了HTTPS协议---阿里云
  7. Flutter开发初探
  8. ASP.NET MVC 四种Controller向View传值方法
  9. 如何解决TOP-K问题
  10. 利用搭载好的工控机环境跑yolov3-tiny