首页 > 系统 > Linux >

linux下Eclipse进行C编程时动态链接库的生成和使用

2011-09-22

前面的博客中讲了在window下C工程中封装dll和lib,在linux下同样需要封装动态链接库,linux下的动态链接库名称以lib开头,扩展名为.so。下面记录在linux下用Eclipse进行C编程时封装动态链接库的方法和向工程中...

前面的博客中讲了在window下C工程中封装dll和lib,在linux下同样需要封装动态链接库,linux下的动态链接库名称以lib开头,扩展名为.so。下面记录在linux下用Eclipse进行C编程时封装动态链接库的方法和向工程中添加动态链接库的方法。

一、创建动态链接库

1、创建工程

new->project->c++ project

选择Shared Library->Empty Project.输入工程名a,点击finish,完成工程的创建。

2、编写代码

在windows下封装动态链接库时对要封的函数要用__declspec(dllexport)来标明,在linux下不用,在linux下只需要直接把要封的函数的声明放到一个.h文件中,要用这个库时将相应的.h文件加载到工程中。

3、生成动态链接库

编译代码,成功后在Debug目录下会生成liba.so文件。

二、动态链接库的使用

1、创建工程

new->c++ project->Executable->Empty Project.工程名为libr

2、编写所需代码,并将相应的.h文件放到工程目录下并加载到工程中。

3、加入动态链接库liba.so

右键工程Properites->C/C++ Build->Settings,然后如下图

\

注意最右边,库的名称liba.so变为a,库的路径就写这个库所在的路径。

4、修改环境变量。

以上均做正确的话编译链接是能通过的,但是在运行时会报错error while loading shared libraries: libShared.so: cannot open shared object file: No such file or directory ,这时需要修改环境变量。在工程处右键,Run As->Run Configurations,选择Environment,如下图:

\

新加一个环境变量,名称必需是 LD_LIBRARY_PATH,值为动态链接库所在的路径。

以上就完成了linux下生成动态链接库和使用动态链接库。

作者“菜鸟变身记”

相关文章
最新文章
热点推荐