C++编译和使用.so动态链接库(二)

// sum.h
#include <iostream>

int sum(int a, int b)
{
    return a+b;
}
// test.cpp (sum.cpp)  cpp h 同名也行
#include <iostream>
#include "sum.h"

using namespace std;

int main()
{
    int a, b;
    cin>>a>>b;
    cout<<sum(a,b)<<"\n";
    return 0;
}
$ gcc test.cpp -fPIC -shared -o libsum.so
或者$ gcc sum.cpp -fPIC -shared -o libsum.so
$ g++ test.cpp -L. -lsum -o test
或者 $ g++ sum.cpp -L. -lsum -o sum
# CPP 要用g++   c用gcc也行
# ~/.bashrc
# source ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/compile_so/sum_so

ldd test 
或者 ldd sum
./test
或者 ./sum

版权声明:本文为weixin_40437821原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。