c++工程编译记录

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