C/C++下Netbeans的配置
目录
目录1
1 netbeans开发环境搭建2
2 netbeans工程管理2
2.1 采用IDE自动生成Makefile2
3 netbeans工程配置2
3.1 编译工具链3
3.1.1 添加配置项 3
3.1.2 设置交叉编译工具 3
3.2 头文件、链接库、预编译的宏4
3.2.1 头文件路径 4
3.2.2 链接库 5
3.2.3 预编译宏 6
3.2.4 指定输出文件的路径及名字 6
3.3 其他实用设置6
3.3.1 选择编程语言的标准 6
3.3.2 添加编译前后执行的命令 6
3.3.3 修改字体大小 7
3.3.4 记录编译号 7
3.3.5 自动格式化对齐 8
4 编译生成链接库9
5 远程调试10
5.1 gdbserver调试工具安装 10
5.2 Netbeans远程调试设置 11
附录11
常用快捷键11
1 netbeans开发环境搭建
选择自己需要的版本(c/c++、linux)下载好之后直接运行*.sh文件,然后按图形界面提示点下一步即可。
2 netbeans工程管理
2.1 采用IDE自动生成Makefile
创建嵌入式工程主要配置交叉编译工具链,本文以创建C语言工程为了例。
(1)新建工程
新建C言语工程:File->New Project->C/C++ -> C/C++ Applicatin->Next
输入工程名点击完成即可。
3 netbeans工程配置
使用过程中通常需要设置编译工具、用户头文件、链接库等信息。
3.1 编译工具链
3.1.1 添加配置项
在嵌入式编程中经常需要先在宿主机编译程序运行通过后再交叉编译到目标板运行。所有最好使用两个配置项,一个是主机Linux的,另一个是嵌入式Linux的。方法如下:
Properties-> Build->Manage Configuurations->New 输入名字点OK即可。
3.1.2 设置交叉编译工具
3.2 头文件、链接库、预编译的宏
编译工具链自带的头文件和链接库在添加好编译工具链后会自动配置好,但是程序中自定义的头文件和使用到的链接库需要配置。
3.2.1 头文件路径
3.2.2 链接库
添加链接库名配置: 输入链接库名字(去掉lib和.*),如libmsc.so 输入msc即可。所有编译时需要链接非标准库的都要加上,如:线程库pthread。
3.2.3 预编译宏
Properties-> Build-> C Compiler->Preprocessor Definitions
3.2.4 指定输出文件的路径及名字
Properties-> Build-> Linker->Output
3.3 其他实用设置
3.3.1 选择编程语言的标准
C++设置方法: Properties-> Build-> C++ Compiler->C++ standard 选择C++ 11点击OK。
3.3.2 添加编译前后执行的命令
此项功能个人觉得非常有用,通过添加命令可是实现编译后将输出文件拷贝到指定目录;执行静态代码检查工具等功能。
配置方法:(注意:命令前要加两个tab,使关键字变色才能运行)
在Files视图直接打开Makefile文件。
在.build-pre: 后加入编译之前执行的命令。
在.build-post: 后加入编译之后执行的命令。
3.3.3 修改字体大小
方法:Tools –> options->Fonts & Colors
3.3.4 记录编译号
properties-> Build->C C->Cross GCC Linker->Miscellaneous->Link flags
在Additional options填写内容:
-Xlinker --defsym -Xlinker BUILD_VERSION=$$(cat $(BUILD_NUMBER_FILE))
BUILD_VERSION为变量名,BUILD_NUMBER_FILE为记录变量值得文件名。
编译前执行的命令(使BUILD_NUMBER_FILE文件里的数值加1):
@if test "${CONF}" = "DebugARM"; then \
rm ${CND_BUILDDIR}/${CONF}/${CND_PLATFORM_${CONF}}/rtklite.o; \
if ! test -f $(BUILD_NUMBER_FILE); then echo 0 > $(BUILD_NUMBER_FILE); else \
echo $$(($$(cat $(BUILD_NUMBER_FILE)) + 1)) > $(BUILD_NUMBER_FILE); \
fi \
fi;\
if test "${CONF}" = "Debug"; then \
rm ${CND_BUILDDIR}/${CONF}/${CND_PLATFORM_${CONF}}/rtklite.o; \
if ! test -f $(BUILD_NUMBER_FILE); then echo 0 > $(BUILD_NUMBER_FILE); else \
echo $$(($$(cat $(BUILD_NUMBER_FILE)) + 1)) > $(BUILD_NUMBER_FILE); \
fi \
fi;\
在程序中调用变量:
extern int BUILD_VERSION;
printf(“%d”, (int)(&BUILD_VERSION));
3.3.5 自动格式化对齐
选择代码按快捷键:Alt+Shift+F
自定义规则:
Tools –> options –> Editor –> Formatting –> Manage –>New 新建配置项。
Braces placement->Function declaration->Next line(修改函数的开头大括号)
4 编译生成链接库
建议新建一个配置项单独用于编译链接库。
链接库里一定不能有main函数,所以有main函数的文件不能一起编译,只需将需要用到的源文件编译即可。
1、 排除不需要编译的文件
在Projects视图中 source Files里选中不需要编译的文件,鼠标右键点Properties->General->Exclued From Build 打上勾。
2、 设置编译
Properties->Build->Configuration Type 选择Dynamic Library(动态链接库),也可以选择Static Library(静态链接库)。选好后直接编译工程就可以了。
5 远程调试
远程调试是在主机上控制调试目标板上运行的程序,主要有串口和网络两种连接方式,本文介绍的是通过网络(TCP)的方式进行远程调试。调试需要使用gdb工具,所以通过交叉编译得到在目标板运行的gdbserver工具和在相应的在主机运行的gdb客户端。
5.1 gdbserver调试工具安装
下载地址:http://www.gnu.org/software/gdb/download/
制作目标板的gdbserver
$cd gdb/gdbserver/(进入gdb-7.10/gdb/gdbserver/)
$./configure --target=arm-arago-linux-gnueabi --host=arm-arago-linux-gnueabi
$make
编译完成后会在当前目录输出gdbserver文件,把gdbserver拷贝到目标板运行。
输出如下信息表示已完成gdb工具的制作:
$./gdbserver
Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...]
gdbserver [OPTIONS] --attach COMM PID
gdbserver [OPTIONS] --multi COMM
...............................
5.2 Netbeans远程调试设置
在netbeans官网的Plugins里找到gdbservion进行插件下载。
1、Netbeans安装插件:
Tools->Plugins->Downloaded->Add Plugins(选择插件)->Install
2、运行远程调试
先在目标板上运行gdbserver
$./gdbserver 192.168.5.1:1234 demo 运行gdbserver,demo为调试的应用程序
Process test created; pid = 1032输出以下消息表示运行成功
Listening on port 1234
连接成功后:
[root@gware /root]#./gdbserver 192.168.5.1:1234 demo
Process demo created; pid = 1032
Listening on port 1234
Remote debugging from host 192.168.5.100
附录
常用快捷键
查看和自定义快捷键:Tools->Options->Keymap
格式化(自动对齐):Alt+Shift+F
注释/取消注释:Ctrl+/
显示搜索对话框:Ctrl+H
撤销:Ctrl+Z
保存:Ctrl+S
保存所有:Ctrl+Shift+S
跳到指定行:Ctrl + G
折叠所有代码块:Ctrl-Shift+数字键盘上的 -
展开所有代码块:Ctrl-Shift+数字键盘上的 +
C/C++下Netbeans的配置的更多相关文章
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- Centos下安装和配置SVN
1.安装SVN服务 #检查现有版本 rpm -qa subversion #如果存储旧版本,卸载旧版本SVN yum remove subversion #安装SVN yum install subv ...
- Win10下Android studio配置
Win10下Android studio配置 一.安装Android Studio的准备工作 1.下载好JDK,去官网上找一个下载下来 2.安装JDK.并配置环境变量.安装过程:本人将使用的是jdk- ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- MAC下安装与配置MySQL
MAC下安装与配置MySQL MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...
- 烂泥:Windows下安装与配置Nginx web服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要.需要在windows环境也使用nginx搭建web服务器. 下面记录下有关ng ...
- CentOS下OpenVPN客户端配置
CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkd ...
- Apache下开启SSI配置使html支持include包含
写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...
- Linux下Redis服务器安装配置
说明:操作系统:CentOS1.安装编译工具yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...
随机推荐
- VI下删除所有内容
让光标在一个位置 , 如果全删就放在问价开始的位置 , 在非编辑的状态下输入dG(注意大小写) , 这样光标之后的所有行都会被删掉
- mac下使用github
提起github相信大家都不会陌生,在这里就不再赘述了.作为开源代码库以及版本控制系统,使用好了确实会非常受益,再说的势利点,你找工作时给面试官说你经常维护自己的技术博客和github,相信你给他的印 ...
- 一机运行多个resin的配置
对于java应用服务器,常用的一般为tomcat.jboss.resin. 一. 概述 经常会有这种情况: 1.一台服务器上,跑多个java应用 2.网站负载高,需要采用负载均衡(轮询)的方式来解决 ...
- feedback 是什么意思
feedback 是什么意思 能否不要说 feedback 呢? 加一个 feedback? 天啊 先解释一下 feedback 是什么 ? 还有 aria-describedby=&q ...
- DISTINCT后按照DISTINCT之前的某列进行排序
SELECT 行业名称 FROM 评分标准 GROUP BY 行业名称 ORDER BY MAX(行业ID) DESC
- 算法库:jpeglib和pnglib安装配置
类似于OpenCV的安装配置.只不过OpenCV有编译好的,而jpeglib和pnglib需要自己编译.其实,若要跟踪OpenCV的源码或要使用OpenCV的扩展包,OpenCV也得自己编译. Ope ...
- Flex使用宋体渲染越南语显示错误
本来应该显示Lưu nhóm,偏偏编译后显示Lưu nhòm.二声变成了四声,并且某些情况下,刚打开的窗口时二声的,然后变成了四声.初始以为是Flex的问题,分别使用S和mx包下的Label做实验,后 ...
- [原]iptables的NAT策略
#*nat #:PREROUTING ACCEPT [:] #:POSTROUTING ACCEPT [:] #:OUTPUT ACCEPT [:] # #-A PREROUTING –s IP1 - ...
- ETL,ESB,BPM为什么要这些图形
==================================== ETL模式架构:(ECCD架构) 捕获增量数据进行数据同步 ESB模式架构: 基于SOA以及工作流,通过适配器接入 BPM架构 ...
- Oracle Dataguard Standby Redo Log的两个实验
在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...