引自: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?即可?? |
|
|