注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

Eclipse开发总结之一路径的添加  

2014-03-04 17:22:56|  分类: 环境安装使用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Eclipse开发总结之一路径的添加

C++/C的开发中,难免会用到各种各样的库,这时候儿就需要包含库的头文件和库的位置路径,以期能使程序运行起来,并安全的调用库。

如果直接使用编译语句会是如下的样子:

g++ -c -o abc.o -Ilib      -I/usr/local/mysql/include -g -O2 -I/usr/local/include/ abc.cpp

 

g++ -o abc abc.o  -L/usr/local/lib -lpcre -L/usr/local/mysql/lib   -L.    -lintl -lz  -lmysqlpp_util -lmysqlclient -lmysqlpp –lz

(注:L. 包括I.后面的DOT表示当前路径,这个在前面MAKEFILE系列中有详细说明)

那么在ECLIPSE中怎么办呢?看下面的图,这个是在“project---properties—setting”中,添加头文件(对就上面的-I,而-include一般在文件中就使用了,很少在编译期才使用),但是一般来说以下几种头文件不需要指定:

/usr/include/c++/4.6

/usr/include/c++/4.6/i686-linux-gnu/.

/usr/include/c++/4.6/backward

/usr/lib/gcc/i686-linux-gnu/4.6.1/include

/usr/local/include

/usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed

/usr/include/i386-linux-gnu

/usr/include

当然,相关的个体的版本可能会有一些不同,但大抵类似于此。

下图是增加包含的头文件,在includes中的右面栏中,点击增加按钮,在弹出的框中写入包含的路径就可以了。

同样,对于SO库也是这样做的,在这张图上:

动态库的引用:见图3

右击项目,选中属性,在属性页中:

GCC C Compiler----command  栏写上gcc -lpthread -ltcmrdriver  

用户自定义库libxxx.so,见图3

同样在GCC C Linkercommand中写上gcc -lpthread -lxxx  

 

静态库的引用:

GCC C Linker栏下Miscellaneous栏,在下面的Other Objects中添加静态库的地址

这里说明一下:-lpthread在LINK中的Miscellaneous(其它)的“LINK FLAGS”中,但是 -ldl却在LINK的LIBRARIES中,不要弄错。

这里还需要多啰嗦两句:

手工来写链接参数总是很麻烦的,还好很多库开发包提供了生成链接参数的程序,名字一般叫xxxx-config,一般放在/usr/bin目录下,比如

gtk1.2的链接参数生成程序是gtk-config,执行gtk-config --libs就能得到以下输出"-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk –rdynamic  -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm",这就是编译一个gtk1.2程序所需的gtk链接参数,xxx-config除了--libs参数外还有一个参数是--cflags用来生成头文件包含目录的,也就是-I参数,在下面我们将会讲到。你可以试试执行gtk-config --libs --cflags,看看输出结果 .

现在的问题就是怎样用这些输出结果了,最笨的方法就是复制粘贴或者照抄,聪明的办法是在编译命令行里加入这个`xxxx-config --libs --cflags`,比如编译一个gtk程序:gcc gtktest.c `gtk-config --libs --cflags`这样就差不多了。注意`不是单引号,而是1键左边那个键

1、下面是增加头文件的方法

Eclipse开发总结之一路径的添加 - 还东国 - 还东国的博客

2、下面是增加静态库和链接标记 linker flags的方法

 Eclipse开发总结之一路径的添加 - 还东国 - 还东国的博客

3、增加动态库的方法,注意静态库在Miscellaneous中,而静态库在Libraries中。

Eclipse开发总结之一路径的添加 - 还东国 - 还东国的博客

   

其它比如你相设置一些环境变量,可以 左侧的Environment中进行设置。

所以说,这样看来,ECLIPSE还是一个比较好用的C/C++开发的IDE,而且他本身并不是一个带库的东西,所以不会污染你的代码。为移植提供了方便。

  评论这张
 
阅读(718)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017