首先建立一个函数文件fun。cpp 以及头文件 fun。h [cpp] view plaincopy #include void fun1(); void fun2(); [cpp] view plaincopy #include "fun。
h" using namespace std; void fun1(){ cout<
cpp [cpp] view plaincopy #include "fun。h" int main() { fun1(); fun2(); } 接着开始编译 我们的函数库[cpp] view plaincopy gcc fun。
cpp -fPIC -shared -o libfun。so 注意这里的命名方式libXXX。so 接着就会看见我们的动态库了 然后编译我们的应用函数 [cpp] view plaincopy g Main。cpp -L。 -lfun -o MainApp 这里要注意,有的人用gcc会出现undefined cout的错误,因为我们用的是C 语言,所以还是要用g 编译-L是指定动态链接库的目录 -l是制定库名字 接下来我们运行 [cpp] view plaincopy 。
/MainApp 会报错,无法加载的shared object这是因为我们还没有告诉程序动态链接库的位置 三种方法告诉 (1) [cpp] view plaincopy export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/你的库目录 (2)更改/etc/ld。
so。conf,添加我们的库目录,然后执行ldconf 需要root权限 (3)加入/user/lib 或者/usr/lib64看你的机器位数,貌似拷贝的方法最凑效了,其他方法有时候行不通。
全部