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下生成动态链接库和使用动态链接库.
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |