在 Ubuntu 操作中安装Code::Blocks

2023-11-16

在 Ubuntu 操作 安装Code::Blocks 步骤如下:

安装步骤:
1.先把编译环境,C库、C++库和Boost库装好,如下:

sudoapt-get install build-essential
* 有可能安装 build-essentialgdb就已经安装过了
   sudo apt-get installgdb

安装gtk包:
sudo apt-get install libgtk2.0-dev


2. 在 Ubuntu 软件中心 中安装 Code::Blocks IDE

3. 安装 Code::Blocks 调试组件 Valgrind用来探测内存泄露的

sudo apt-get installvalgrind

4.安装外围爱好者根据需要自行编译并贡献的软件
sudo apt-get installcodeblocks-contrib

5. 安装 wxWidgets 开发相关项:(注:安装前到www.wxWidgets.org上看一下最新版本)

sudo apt-get installlibwxbase2.8-dbg
sudo apt-get installlibwxbase2.8-dev

sudo apt-get installlibwxgtk2.8-dbg
sudo apt-getinstalllibwxgtk2.8-dev

sudo apt-get install
wx2.8-i18n

sudo apt-get install
wx2.8-doc
sudo apt-get installwx2.8-examples

sudo apt-get install
wx-common

开始使用Code::Blocks了,应用程序->编程->Code::BlocksIDE。

Code::Blocks和wxWidgets整合非常好,几乎不用做任何额外的配置。

使用说明:

1.可以自己写Makefile:

 在Project的属性中指定使用custom makefile即可。和visualstudio一样,可以定义很多编译和link过程中的参数,包括定义编译参数等,这些都可以在Project的buildoption或compiler/debugger settings中找到。
 对于一些使用autoconf/automake的项目来说,我想只有新建一个project,然后将源码导入才行。不过,现在已经有人开始做autoconf/automake的codeblocks的plugin了。

2.可以定义快捷键:

 遗憾的是,只能给菜单中出现的项目定义快捷键,对于比如editor中右键弹出的contextmenu中的项目无法定义快捷键。
 Settings -> Editor -> Keybordshortcut里面可以定义快捷键。
 注:[Edit]->[Completecode]的快捷键Ctrl - Space(与输入法冲突)要改成Ctrl - k
   (不限为Ctrl -k,只要不冲突,任用你喜欢的键)。

 management, log, messagepanel等都不能autoshow/autohide。要么关闭,要么显式。也不能dock成一条,吸附在屏幕两边。对于这个问题,我使用的办法是:给display/hide这些pane定义快捷键,使用这些快捷键来显式或隐藏这些pane,效果也不错。

3.定制F1帮助系统
 在Settings -> Environment ->Help files中新建一个entry,名为man,接着的对话框选no,然后手动在下面的path中填写:man:/usr/share/man 
 将default(使用F1快捷键)勾上。这样就可以使用manpage了。在editor中,将光标停在想要查询的内容上面,按F1,就会弹出一个panel,里面就有查询内容的man手册,非常的方便。比如printf,按F1,弹出的panel中就显示printf的man手册。
在 [终端] 下执行下行语句,安装GNU C标准
sudo apt-get install manpages-dev        // C API 
sudo apt-get install manpages-posix       // posixfunction
sudo apt-get install manpages-posix-dev // posix developdocuments
sudo apt-get install glibc-doc                // C API
sudo apt-get install stl-manual              //STL
sudo apt-get install libstdc++6-4.1-doc   // 注:我写这篇文章时,安4.1这个man std::string可以
sudo apt-get install libstdc++6-4.3-doc   // C++ API,建议先安这个试,再试4.1
sudo apt-get install manpages-zh          // 中文文档
修改man默认的语言
sudo gedit /etc/manpath.config
把里面所有含 /usr/share/man的行拷贝添加到其下一行并改成/usr/share/man/zh_CN
中文在上,英文在下,如下所示:
注:以MANDB_MAP开头的就不要改了不然会有如下错误提示的
          man: 无法解析 /usr/share/man/zh_CN/man3/std::vector.3.gz:没有该文件或目录
MANDATORY_MANPATH /usr/share/man/zh_CN

MANPATH_MAP /bin /usr/share/man/zh_CN
MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man/zh_CN
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /sbin /usr/share/man/zh_CN
MANPATH_MAP /sbin /usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man/zh_CN
MANPATH_MAP /usr/sbin /usr/share/man
MANPATH_MAP /usr/games /usr/share/man/zh_CN
MANPATH_MAP /usr/games /usr/share/man
保存后退出

4.自动补全功能设置
  每个新建工程都要在菜单[Project] ->[Properties...] -> [C/C++ parseroptions]中添入头文件所在目录,这样自动补全与信息提示功能才可正常工作,如下是标准库头文件的目录:
/usr/include
/usr/include/bits
/usr/include/c++/4.3/tr1
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.3/include
/usr/lib/gcc/i486-linux-gnu/4.3.3/include
下面这个是socket的文件路径
/usr/include/sys
/usr/include/netinet
/usr/include/arpa
添上后不是立即起效,过一段时间后你就发现功能突然出现!

5. 修改 GNU ARM GCC Compiler
1. [Settings] -> [Compiler and debuggersettings]
    将Setectedcompiler 修改为GNU ARM GCC 编译器。
Ubuntu <wbr>下安装 <wbr>Code::Blocks

2. 在同页面选择 [Toolchain executables]选项卡中的[program files]选项页,
    1) 先修改Compiler's installation directory 为你的ARM GCC Compiler安装所在地址;
    2)再选择替换C编译器(arrm-linux-gcc)、C++编译器(arm-linux-g++)、
       动态库链接器(arm-linux-g++)、静态库链接器(arm-linux-ar)、
       调试器(arm-linux-gdb);

   注:make程序还用/usr/bin/make,即GNU GCC 自带的即可!


6. 智能化配置:
一、[Settings] -> [Editor...] ->"Code-completion and symbols browser"中
1. 将 Keyword sets to additionally include 中1到9都勾上,
    1 ~ 9对应的关键字可在 "Syntax highlighting" 的 [keywords...]按钮 中设置,
    默认其中 1 是 C++关键字,3 是 Doxygen 关键字;
2. 将 Delay for auto-kick-in when typing [.::->] 拉到200ms,这样快点出来提示
3. 将 Automatically launch when typed # letters中的4改成2,这样打两个字母就会有提示了
4. 将 Case-sensitive match 的勾去掉,它会帮你纠正大小写

二、[Settings] -> [Editor...] ->“Abbreviation” 中
定义了许多缩写(还可以自定义),只要输入这些缩写,并按Ctrl+J,就可以自动完成常用的代码框架,并可将光标放在恰当的地方(自定义时用|表达),常用的有:guard、class、switch等。

7. 快捷键:
Ctrl +滚轮         代码的字体会随你心意变大变小

右键+拖动鼠标   省得去拉(尤其是横向)滚动条,相关设置:Mouse Drag Scrolling

Atl +拖动鼠标
     实现部分选择(只选中区域内的字符,而不会包含它们所在行的其他字符)。
Ctrl+D               可复制当前行或选中块
Ctrl+拖动鼠标   复制到新位置

Ctrl+Shift+C      注释掉当前行或选中块
Ctrl+Shift+X      解除注释

Tab
                     缩进当前行或选中块
Shift +Tab
         减少缩进

F2                       显隐下方Logs & others栏
Shift+F2             显隐左方的Management栏

Ctrl+G                  到达指定行
ALT+G                 到达指定文件
Ctrl+Alt+G           到达指定函数(支持头文件中的函数定义)
F11                      切换源文件与头文件

Ctrl +PageUp       到达上一个函数
Ctrl +PageDown   到达下一个函数。

Ctrl +B                 添加书签
Alt +PageUp
Alt +PageDown   可以切换书签

Ctrl +Shift +B     可找到匹配的括号。

8. 备份~/codeblocks/Default.conf,就不会丢失你的配置了。
在终端里执行 cb_share_config这个命令,会打开如下窗口来备份:




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ubuntu 操作中安装Code::Blocks 的相关文章

  • CPU Relax 指令和 C++11 原语

    我注意到许多使用特定于操作系统的原语实现的无锁算法 例如所描述的自旋锁here http locklessinc com articles locks 使用 Linux 特定的原子原语 经常使用 cpurelax 指令 使用 GCC 可以通
  • 伪分布式模式下的 Hadoop。连接被拒绝

    P S 请不要将此标记为重复 Hi 我一直在尝试以伪分布式模式设置和运行 Hadoop 当我运行 start all sh 脚本时 我得到以下输出 starting namenode logging to home raveesh Hado
  • 如何调用使用 Define 创建的 GNU make 宏?

    在我的 Makefile 中调用 GREP 的两种方式有什么区别吗 我有什么理由应该使用其中之一 两者似乎产生相同的结果 define GREP word 3 shell echo define FOO 0xfff00100 endef a
  • 操作错误:尝试在 ubuntu 服务器中写入只读数据库

    我正在使用 FlaskApp 运行mod wsgi and apache2在 Ubuntu 服务器上 我尝试运行烧瓶应用程序localhost成功 然后部署到ubuntu服务器上 但是当我尝试更新数据库时 出现错误 Failed to up
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a
  • 我需要启用哪些权限才能使 Docker 卷正常工作?

    假设我有一个保存一些数据的 Docker 容器 我希望这些数据能够持续存在 如果容器被停止 删除 升级等 我仍然希望数据位于主机操作系统文件系统上的可访问位置 目前 我的解决方案是创建一个目录 srv service name在我的主机上
  • 为什么是 ”\?” C/C++ 中的转义序列?

    C C 中有四种特殊的非字母字符需要转义 单引号 双引号 反斜杠 和问号 显然是因为它们有特殊的含义 对于单身char 对于字符串文字 对于转义序列 但为什么是 其中之一 我今天读了教科书上的转义序列表 我意识到我已经never逃脱了 以前
  • 有没有办法在输出二进制文件中存储 clang 编译时标志?

    使用 clang 时 有没有办法在输出二进制文件中存储编译时标志 例如运行后 clang O3 c main c 所结果的main o文件应该包含在某处 O3 gcc has frecord gcc switches https stack
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 让 Rails 生产在端口 80 上运行

    我正在尝试让我的 Rails 应用程序在生产模式下运行 但遇到了一些困难 我正在使用 Passenger 和 apache 并运行 Ubuntu 12 04 我已经配置和创建了生产数据库 并设置了乘客 状态如下 rvmsudo passen
  • Android 存储库初始化失败

    我想我非常仔细地遵循该网站的说明 http source android com source downloading html http source android com source downloading html 但是当我尝试这
  • ubuntu 16.04.1 LTS 启动 Android 模拟器时崩溃

    我已经尝试过 Android studio 上的 AVD 和 Genymotion 模拟器 我的 ubuntu 16 04 1 在启动 android 模拟器时崩溃 冻结 我的电脑内存是16G 在我于 2016 年 9 月 19 日安装了
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 在初始化脚本中切换用户?

    这是我的 Ubuntu 工作站上的初始化脚本 我需要以除 root 之外的其他用户身份运行命令 但我就是不知道应该如何完成它 两者都不sudo u or su newuser似乎有效 剧本 respawn console none star
  • 为什么 GCC 不对无法访问的代码发出警告?

    为什么 GCC 4 6 3 没有给我任何警告无法访问的代码在下面的例子中 include
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu

随机推荐

  • 配置 RT-Thread 的工程目录

    1 前言 RT Thread 基于 Scons 的包管理非常方便让我们使用 RT Thread 进行开发 但在实际工程中将应用代码写到 RT Thread 官方提供的 bsp 目录下面会非常不便于使用 无法使用自己 git 工具进行代码管理
  • 使用IntelliJ IDEA通过Maven创建Spring的HelloWord(超详细图文教程)

    在JavaWeb中 随着Intellij IDEA的广泛使用 所用的Maven插件在以后的JavaEE中开发也将是个趋势 通过Maven仓库 我们可以不用下载所关联的Jar包就可以进行引用 还是很方便整个工程管理的 因为自己也是第一次接触S
  • 运算符相关知识点

    字符串转数值类型新增 隐式转换 隐式转换 正号 var a 10 console log typeof a console log typeof a 0 隐式转换 console log typeof a 1 隐式转换 console lo
  • iosArchive上传到AppStoreConnect

    首先 我们需要一个IOS开发平台上有一个开发者账号 https developer apple com programs enroll 这个平台可以注册个人账号或者公司账号 公司账号需要的资料更麻烦一点 但是功能也更多 在做好的开发者账号的
  • Win10家庭版远程桌面工具RDP Wrapper

    Win10家庭版远程桌面工具RDP Wrapper 由于win10家庭版官方不支持使用远程控制mstsc工具 但是使用RDP Wrapper可以解决该问题 解决办法 链接
  • uniapp 地图组件(map)的使用总结

    总结一下本次在uniapp中使用map遇到的一些问题 文章分别是基础 定位图标 获取自身经纬度 通过经纬度获取当时城市信息 首先先看成品 首先引入map组件
  • C++查看 IEEE 754 浮点数格式的代码

    把内容过程中较好的一些内容片段备份一次 下边资料是关于C 查看 IEEE 754 浮点数格式的内容 for binary floating point numbers IEEE 754 is to use a union as shown
  • qt在程序执行的过程中刷新界面

    qt程序执行的过程中 一般是不会仅仅通过setText函数将文字刷新到界面上 如果想根据需要不断地显示文字到主界面上该怎么做呢 为什么不会刷新界面呢 这是由于调用show函数之后 并不能显示界面 必须调用如下图片的中的a exec函数才能刷
  • 一键部署office的工具——OTool

    OTool可用于office的下载 安装和激活 其激活方式是调用kmspico服务器进行的 官方网站是https otp landian vip zh cn 最新版本5 9 3 6在2019 4 16发布 使用方式 下载 这个软件是绿化版的
  • C/C++队列操作

    1 链队结构 typedef struct queuenode int data struct queuenode next Queue typedef struct Queue fronts rear linkqueue 2 入队操作 进
  • 字符设备驱动-通过GPIO子系统提供的API实现LED驱动

    前言 写文章的目的是想通过记录自己的学习过程 以便以后使用到相关的知识点可以回顾和参考 一 GPIO子系统提供的API gpio 子系统提供了 API 函数来操作指定的 GPIO gpio 子系统向驱动开发人员屏蔽了具体的读写寄存器过程 这
  • STM32硬件I2C与软件模拟I2C超详解

    作者简介 嵌入式入坑者 与大家一起加油 希望文章能够帮助各位 个人主页 rivencode的个人主页 系列专栏 玩转STM32 保持学习 保持热爱 认真分享 一起进步 目录 一 I2C协议简介 二 I2C物理层 三 I2C协议层 I2C 基
  • 面试官问:SpringBoot中@Async默认线程池导致OOM如何解决?

    前言 1 最近项目上在测试人员压测过程中发现了OOM问题 项目使用springboot搭建项目工程 通过查看日志中包含信息 unable to create new native thread 内存溢出的三种类型 1 第一种OutOfMem
  • Node.js 学习系列(一) —— 入门

    nodejs 官网 https nodejs org zh cn nodejs下载地址 https nodejs org zh cn download Node js 是一个开源 跨平台的 JavaScript 运行时环境 简单的说 就是运
  • git 环境配置 + gitee拉取代码

    好嘛 配环境的时候 老是忘记这个命令行 干脆自己写一个记录一下 也不用搜了 1 先从git官网下载git 安装 2 然后从gitee拉取代码的时候提示 这是因为换了新电脑没有加入新的公钥啦 哎 所以老是记不住命令行 first git co
  • SSL和SSH有什么区别

    许多人对SSL和SSH感到困惑 这是可以理解的 两者都是安全协议 可以帮助保护从一个端点到另一端点的数据 此外 他们的名字有两个相似的字母 增加了歧义 但是SSH和SSL是两回事 如果您感到困惑 或者对选择哪种安全协议犹豫不决 本文将为您提
  • Rk3288 Android 7.1/8.1默认开启网络ADB端口

    Rk3288 系列开机默认没有打开网络ADB端口 可通过ADB手动改打开 ADB连接后 输入 adb tcpip 5555 Android 默认为5555 输入 adb connect ip地址 可以通过 adb devices 来验证 W
  • NSIS脚本学习:判断版本并安装.NET Framework运行环境

    前言 目前开发的程序以基于 net的应用程序为主 程序开发好后 需要进行安装包的生成 及setup文件的生成 常见的是NSIS工具 之前一直用的单文件打包工具 不适合将运行环境加进去 因此开始使用更高版本的NSIS 3 06 关于判断 NE
  • dva.js yield call/put使用完整流程

    这个项目是基于dva框架的一个rn项目 对于一个新手 其实我也是菜鸟来着 来说 有很好的学习意义 首先我们来看下目录的结构 把我们定义的service引入进来 定义一个GET USER INFO的effects 注意这个函数名称前面要有 然
  • 在 Ubuntu 操作中安装Code::Blocks

    在 Ubuntu 操作 中安装Code Blocks 步骤如下 安装步骤 1 先把编译环境 C库 C 库和Boost库装好 如下 sudoapt get install build essential 有可能安装 build essenti