引自:http://blog.chinaunix.net/u/20754/showart_370851.html
# 1.编写库的头文件和源文件.
# 2.把所有涉及到的源文件用如下方式编译为目标文件:
# g++/gcc -g -c -fPIC -o library1.o library1.cpp
# g++/gcc -g -c -fPIC -o library2.o library2.cpp
# ......
#
3.把所有的目标文件链接为动态库:
# g++/gcc -g -shared -Wl,-soname,lib***.so -o lib***.so.1.0.0 library1.o library2.o .... -lc
*** 为你为动态链接库的命名,比如dl
4.建立一个库名链接
# ln -s lib***.so.1.0.0 lib***.so
# 现在你就可以引用库了.
# 假如你的应用程序源代码叫test.cpp
# 采用如下方式编译:
# g++ -g -o test test.cpp -ldl
| ps:编译时可能遇到找不到.so文件的提示,这时需要设置LD_LIBRARY_PATH环境变量:
export LD_LIBRARY_PATH = .
#仅是测试,不提倡设为当前目录
然后,
g++ -g -o test test.cpp -L./ -ldl 即可 |
|
|