动态库
新建 mylib.c 文件
#include< stdio.h >
void mylib(void);
void mylib(void)
{
printf("This is mylibn");
}
在 Ubuntu 编译
编写测试代码 test.c
#include < stdio.h >
void mylib(void);
int main(void)
{
mylib();
return 0;
}
编译测试文件 test.c
-l:指定动态库的库名
-L:指定动态库的查找位置。
-L . 表示在当前目录下去查找
运行测试 a.out
在动态库使用是,系统会默认去/lib,/usr/lib 目录下去查找动态函数库,如果我们使用的库不在里面,就会提示错误。解决这个问题有三种方法。
第一种方法:
将生成的动态库拷贝到/lib 或者/usr/lib 里面去,因为系统会默认去这两个路径下寻找。
第二种方法:
把我们的动态库所在的路径加到环境变量里面去,比如我们动态库所在的路径为/home/test,我们就可以这样添加,但是这种方法只在当前设置的窗口有效。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/topeet/debug/linux_
我们加入环境后,运行 a.out
第三种方法:
修改 ubuntu 下的配置文件/etc/ld.so.conf,我们在这个配置文件里面加入动态库所在的位置,然后使用命令 ldconfig 更新目录。
我们输入以下命令编辑/etc/ld.so.conf 文件,如下图所示:
修改完文件保存退出,输入 ldconfig 更新目录。运行测试如下图所示:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux
+关注
关注
87文章
11219浏览量
208872 -
文件
+关注
关注
1文章
561浏览量
24692 -
动态库
+关注
关注
0文章
16浏览量
6218
发布评论请先 登录
相关推荐
深入分析Windows和Linux动态库应用异同
深入分析Windows和Linux动态库应用异同
摘要:动态链接库技术实现和设计程序常用的技术,在Windows和
发表于 10-22 11:36
•1290次阅读
你知道Linux动态链接库的创建与使用?
使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。
发表于 04-28 16:45
•1104次阅读
Linux下的静态库、动态库和动态加载库
库的存在极大的提高了C/C++程序的复用性,但是库对于初学者来说有些难以驾驭,本文从Linux的角度浅谈Linux下的静态库
发表于 04-02 14:32
•756次阅读
评论