|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何把C源代碼編譯成library?
makefile應該怎麼寫?
謝謝!! |
如何把C源代碼編譯成library?
對了,是AIX平台下。 |
如何把C源代碼編譯成library?
man ar |
如何把C源代碼編譯成library?
看看吧。先免得是編寫一個共享庫的Makefile:
CFLAGS=-c -O3 -fPIC
TARFILE=-o $@
liblogapi.so: log.lo CharParse.lo
g++ -shared $(TARFILE) log.lo CharParse.lo
log.lo: log.cpp log.h
g++ $(TARFILE) $(CFLAGS) log.cpp
CharParse.lo: CharParse.cpp CharParse.h
g++ $(TARFILE) $(CFLAGS) CharParse.cpp
rm:
rm *.lo |
如何把C源代碼編譯成library?
謝謝。不過我用的是xlc……
是不是用-G?但出來的結果是shr.o?
哪裡有相關的說明啊? |
如何把C源代碼編譯成library?
http://linux.softhouse.com.cn/linux/knowledge/tech/5990.html
、用-fPIC選項編譯所有的源文件,本例只有lddemo.c
$ gcc -fIPC -c lddemo.c
b、用-share選項將目標連成共享庫,並為連接器提供合適的連接選項。為建立libddemo.so.1共享庫,使用如下命令:
$ gcc -shared -Wl,-soname,libddemo.so.1 -o libddemo.so.1.0 lddemo.o
c、建立一系列的符號鏈接,以便使用共享庫的程序根據標準名來引用它,對於示例,其標準名為libddemo.so,可以用ln建立符號鏈接:
$ ln -s libddemo.so.1.0 libddemo.so.1
$ ln -s libddemo.so.1 libddemo.so |
如何把C源代碼編譯成library?
我是用的cc,在sco5.0上通過
生成靜態連接庫:
先用 -c 生成 .o 文件( cc -c filename.c )
ar r libname.a filename.o
生成動態連接庫:
cc -K PIC -G -o libname.so filename.c |
| |