目录

目录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开发环境搭建

官网:https://netbeans.org/

选择自己需要的版本(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的配置的更多相关文章

  1. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  2. Centos下安装和配置SVN

    1.安装SVN服务 #检查现有版本 rpm -qa subversion #如果存储旧版本,卸载旧版本SVN yum remove subversion #安装SVN yum install subv ...

  3. Win10下Android studio配置

    Win10下Android studio配置 一.安装Android Studio的准备工作 1.下载好JDK,去官网上找一个下载下来 2.安装JDK.并配置环境变量.安装过程:本人将使用的是jdk- ...

  4. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  5. MAC下安装与配置MySQL

    MAC下安装与配置MySQL   MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...

  6. 烂泥:Windows下安装与配置Nginx web服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要.需要在windows环境也使用nginx搭建web服务器. 下面记录下有关ng ...

  7. CentOS下OpenVPN客户端配置

    CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkd ...

  8. Apache下开启SSI配置使html支持include包含

    写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...

  9. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

随机推荐

  1. Java设计模式—生产者消费者模式(阻塞队列实现)

    生产者消费者模式是并发.多线程编程中经典的设计模式,生产者和消费者通过分离的执行工作解耦,简化了开发模式,生产者和消费者可以以不同的速度生产和消费数据.这篇文章我们来看看什么是生产者消费者模式,这个问 ...

  2. ylbtech-dbs:ylbtech-3,BarCode(条码资源系统)

    ylbtech-dbs:ylbtech-3,BarCode(条码资源系统) -- =============================================-- 条码资源系统-- YU ...

  3. 使用Git命令从Github下载代码仓库

    Github作为最大的开源代码仓库,也是作为版本控制工具,简直就是程序员的天堂,是一座挖掘不尽的宝藏.现在讲解一下如何把一个Github上的项目下载到本地,也就是在本地也建立一个项目仓库,以后进行项目 ...

  4. linux下的gedit命令使用方法与技巧

    1.启动:   从菜单启动:应用程序——>附件——>文本编辑器   从命令行执行以下命令: gedit   2.窗口说明:   菜单栏:包含您在 gedit 中处理文件所需的所有命令.   ...

  5. WebView用法

    在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件. 什么是webkit WebKit是Mac OS X v10.3及以上版本所包含的软件框架(对 ...

  6. async callback z

    public class StackOverflow_5979252 { [ServiceContract(Name = "IMessageCallback")] public i ...

  7. android 插件化 模块化开发

    http://blog.csdn.net/o1587790525/article/details/11891997 Android 插件化架构设计  http://www.iqiyi.com/w_19 ...

  8. mysql 非安装版本就可以用, 用于打包用

    http://blog.csdn.net/iihero/article/details/5596401 http://blog.csdn.net/iihero/article/details/5596 ...

  9. photoshop如何选择图层?

    选择移动工具,在上边的属性栏里勾选"自动选择图层"功能即可. 只要打上勾, 并且配上是选择图层,还是组, 点到哪里就选中哪里.   参考: http://zhidao.baidu. ...

  10. 我自己做的网站终于上线啦,用tornado做的,求围观 www.yustock.live

    跟股票相关的一个小网站~ www.yustock.live