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

Linux下C ,C ++, Qt开发环境的更多相关文章

  1. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  2. Linux下快速搭建php开发环境

    php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...

  3. LINUX下搭建JAVA的开发环境

    LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13)     下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...

  4. linux下怎么安装Go开发环境?linux部署golang

    linux下怎么安装Go开发环境?linux部署golang  0.请自行安装SSH远程工具 1.  SSH远程登录你的linux服务器 2.   yum install mercurial安装 me ...

  5. Ubuntu Linux下如何配置Android开发环境

    下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...

  6. linux下arm平台Qt编译环境搭建与解析

    一.概述:      我们知道QTcreator.这仅仅是个IDE,他包含了一个编译器--qmake.这两者的关系与codeblocks和g++的关系一样,首先要明确这些.      而我们在linu ...

  7. 几个linux 下C/C++集成开发环境推荐

    链接地址:http://www.lupaworld.com/article-210675-1.html 摘要: 一.AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件, ...

  8. Fedora Linux 下安装配置C开发环境Code::Blocks

    一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...

  9. Linux C编程之一:Linux下c语言的开发环境

    ---恢复内容开始--- 今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去... 1.开发环境的构成 编辑器:VI: 编译器:选择GNU  C/C++编译器gcc: 调试器: ...

  10. Linux下配置C/C++开发环境-----Eclipse

    先自己去官网下载jdk. 解压即安装. 然后在~/.bashrc文件里面配置下环境变量就行了.在文件最后添加以下路径,如下: JAVA_HOME=/home/username/jdk/jdk1.8.0 ...

随机推荐

  1. startActivityForResult调用另外一个Activity获取返回结果

    startActivityForResult(intent,requestCode)可以调用另外一个Activity,并返回结果. 换头像案例 activity_main.xml <?xml v ...

  2. 11.实战交付一套dubbo微服务到k8s集群(3)之dubbo微服务底包镜像制作

    1.下载jre镜像并推送到harbor [root@hdss7- ~]# docker pull registry.cn-hangzhou.aliyuncs.com/yfhub/jre8:8u112 ...

  3. C/C++以及Linux文件操作备忘录

    目录 C文件操作 文件开关 文件读写 C++文件操作 Linux文件操作 打开 C文件操作 #include<stdio.h> stdin, stdout, stderr 文件开关 /* ...

  4. 【asp.net core 系列】12 数据加密算法

    0. 前言 这一篇我们将介绍一下.net core 的加密和解密.在Web应用程序中,用户的密码会使用MD5值作为密码数据存储起来.而在其他的情况下,也会使用加密和解密的功能. 常见的加密算法分为对称 ...

  5. AOP的概念

    1.1 什么是AOP? 软件开发一直在寻求更加高效.更易维护甚至更易扩展的方式.软件开发的目的,最终是为了解决各种需求,包括业务需求和系统需求.使用面向对象方法,我们可以对业务需求等普通关注点进行很好 ...

  6. linux网络编程-posix信号量与互斥锁(39)

    -posix信号量信号量 是打开一个有名的信号量 sem_init是打开一个无名的信号量,无名信号量的销毁用sem_destroy sem_wait和sem_post是对信号量进行pv操作,既可以使用 ...

  7. leetcode125. 验证回文串 python 简单

    125. 验证回文串 难度简单     给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: &quo ...

  8. Unity常见的三种数据本地持久化方案

    做游戏的时候常常会有数据配置或者存读档的需求,本文整理了常用的几种解决方案,分别是Unity自带的PlayerPrefs类,XML文件和Json文件. 一. PlayerPrefs 这是Unity自带 ...

  9. 入门大数据---Hbase搭建

    环境介绍 tuge1 tuge2 tuge3 tuge4 NameNode NameNode DataNode DataNode ZooKeeper ZooKeeper ZooKeeper ZooKe ...

  10. linux环境搭建单机kafka

    准备工作: jdk-8u191-linux-x64.rpm  |   zookeeper-3.4.6.tar.gz  |   kafka_2.11-2.2.0.tgz 对应的地址 zookeeper: ...