Linux 动态库的创建和使用简单实例

来源:互联网 发布:数据采集功能 编辑:程序博客网 时间:2024/06/15 22:17

参考:http://blog.csdn.net/ctthunagchneg/article/details/8509489


(整个工程在这里下载)

目录结构:

> main.cpp> Makefile> so (directory)>> hello.h>> hello.cpp>> Makefile

so路径下的文件:

hello.h

void Hello();

hello.cpp

#include "hello.h"#include <iostream>using namespace std;void Hello() {        cout << "Hello world!" << endl;}

Makefile

all:        g++ -fPIC -c hello.cpp        g++ -shared -fPIC -o libhello.so hello.o        echo `pwd` >> /etc/ld.so.conf        ldconfigclean:        rm -f *.o *.so

主工程路径下的文件:

main.cpp

#include "hello.h"int main(int argc, char* argv[]) {        Hello();        return 0;}

Makefile

all:        g++ main.cpp -I./so -L./so -lhello -o mainclean:        rm -f main