Linux下C ,C ++, Qt開發環境


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安裝文件的默認權限

Qt默認情況下的文件權限

文件的所有者的權限是可以更改文件的。我個人認為這樣不太妙,當我用refactor批量改字段名的時候可能發生意外。

但是最好不要這樣。

建議把重要文件夾所有用戶的權限都修改為 Read-Only ,Access files

更改后的文件夾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM