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) * * * */
原文链接: https://www.cnblogs.com/little-kwy/p/12299430.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/328782
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!