转:http://blog.csdn.net/schumyxp/article/details/2119186
打算用linux下面的eclipse进行c++开发,因为好久没做c++开发了,又对linux没那么熟悉,就记录一下我的入门经历。
目的是创建一个共享库,然后用另一个项目去调用。
首先,创建一个共享库。打开eclipse,选择c++项目里面的共享库,创建即可,然后就是编写相应的代码什么的……
比如这个库就叫做test吧,里面有个类,叫做CTest。
写好之后,编译,保证没有问题。这个时候应该得到了一个libtest.so文件,还有就是CTest类的头文件CTest.h。
这个时候这个库还不能像在windows下面似的直接拿来就用。还得进行一下“安装”。
其实可以安装这个库的位置很多,我是把它安装在了/usr/lib下面。但是那里面本来就有很多系统里面的东西。为了不让自己的库和系统的混了,我在/usr下面建立了一个文件夹clib,然后把libtest.so和CTest.h都拷贝到了/usr/clib下面。
然后建立一个软链接,如下:
#ln -s /usr/clib/libtest.so /usr/lib
建立好之后,再更新一下系统信息:
#ldconfig
这样之后,这个库就可以用了。感觉linux下面的共享库,就好像.net里面的强名称的dll。
下面就可以使用这个库了。不过c++里面用起来就是麻烦一些啊,呵呵。
首先建立一个可执行的c++项目,然后“引入”刚才安装好的库,引入的过程如下(.net下面点点鼠标就行了,都把我惯坏了):
为编译器指定路径:在-l参数下面,添加libtest.so所在的位置,我这里就是/usr/clib。
为链接器指定要引用的库:在-l参数下面添加test,这个就是前面做的那个共享库。test前后的lib和.so都是系统自己加的,编译的时候也会自己加上,所以一定得写test。
为编译器指定库所在的路径:在-L参数下面,添加libtest.so所在的路径就可以了,这里还是/usr/clib。
这样配置好之后,test这个库终于可以用了。
用的时候,include "CTest.h"后,就可以用类CTest了。
如果你怕乱,把CTest.h这个头文件放在了/usr/clib/CTest这个目录下面,那就是include "CTest/CTest.h"了。现在应该更明白了吧,以后想怎么安排文件结构,就可以随意发挥了。
接下来,就可以编译运行程序了。
如果不幸出错了(估计第一次搞linux开发的人,很多会出错的),不要着急,几乎都是上面的路径没写对。这个时候可以使用ldd命令来查看都引用了那些库,有没有问题,一眼就能看出来了。
我想,有了这些基本的准备,就可以开始linux下面的c++开发了。
目的是创建一个共享库,然后用另一个项目去调用。
首先,创建一个共享库。打开eclipse,选择c++项目里面的共享库,创建即可,然后就是编写相应的代码什么的……
比如这个库就叫做test吧,里面有个类,叫做CTest。
写好之后,编译,保证没有问题。这个时候应该得到了一个libtest.so文件,还有就是CTest类的头文件CTest.h。
这个时候这个库还不能像在windows下面似的直接拿来就用。还得进行一下“安装”。
其实可以安装这个库的位置很多,我是把它安装在了/usr/lib下面。但是那里面本来就有很多系统里面的东西。为了不让自己的库和系统的混了,我在/usr下面建立了一个文件夹clib,然后把libtest.so和CTest.h都拷贝到了/usr/clib下面。
然后建立一个软链接,如下:
#ln -s /usr/clib/libtest.so /usr/lib
建立好之后,再更新一下系统信息:
#ldconfig
这样之后,这个库就可以用了。感觉linux下面的共享库,就好像.net里面的强名称的dll。
下面就可以使用这个库了。不过c++里面用起来就是麻烦一些啊,呵呵。
首先建立一个可执行的c++项目,然后“引入”刚才安装好的库,引入的过程如下(.net下面点点鼠标就行了,都把我惯坏了):
为编译器指定路径:在-l参数下面,添加libtest.so所在的位置,我这里就是/usr/clib。
为链接器指定要引用的库:在-l参数下面添加test,这个就是前面做的那个共享库。test前后的lib和.so都是系统自己加的,编译的时候也会自己加上,所以一定得写test。
为编译器指定库所在的路径:在-L参数下面,添加libtest.so所在的路径就可以了,这里还是/usr/clib。
这样配置好之后,test这个库终于可以用了。
用的时候,include "CTest.h"后,就可以用类CTest了。
如果你怕乱,把CTest.h这个头文件放在了/usr/clib/CTest这个目录下面,那就是include "CTest/CTest.h"了。现在应该更明白了吧,以后想怎么安排文件结构,就可以随意发挥了。
接下来,就可以编译运行程序了。
如果不幸出错了(估计第一次搞linux开发的人,很多会出错的),不要着急,几乎都是上面的路径没写对。这个时候可以使用ldd命令来查看都引用了那些库,有没有问题,一眼就能看出来了。
我想,有了这些基本的准备,就可以开始linux下面的c++开发了。