test3.c
#include <stdio.h> #include <cpptest/cpptest.h> int test(int argc,char **argv); int main(int argc,char **argv) { test(argc,argv); return 0; } /* * 1、动态编译 * 调用test动态链接库(c调用c中的动态链接库) * 编译:gcc src/test3.c -o test3 -g #可以正常编译,但是链接出错 * 将test.cpp编译成动态链接库:g++ -fPIC -shared src/test.cpp -o libtest.so -g * 链接test函数:gcc src/test3.c -o test3 -g -ltest -L./ * 查看test2链接了那些库:ldd test3,但是发现 libtest.so => not found ,这个时候需要讲当前工程的目录放进系统so动态链接库中 /etc/ld.so.conf * pwd * nano /etc/ld.so.conf 将 /root/桌面/SM9Demo/cpptest 放在最后 * ldconfig 生效 * lddtest3 找到 libtest.so => /root/桌面/SM9Demo/cpptest/libtest.so (0x00007f882e657000) * * * */