SOFLAGS = -shared -fPIC
LDFLAGS = -lm
CFLAGS = -Wall -pedantic -ggdb3 -O0 -std=c99 -lpthread -shared -fPIC
all: add.so sub.so
${CC}-o mainmain.c -L -ladd -L -lsub ${CFLAGS} ${LDFLAGS}
add.so: add.c
$(CC) ${SOFLAGS} -o $@ $?
sub.so: sub.c
$(CC) ${SOFLAGS} -o $@ $?
.PHONY: clean
clean:
rm -f main *.so *.o
還是會 crash 晕死,难道是描述不够明确:dizzy:
是移动,不是复制,CFLAGS不再保留-shared -fPIC选项:-L
http://bbs.chinaunix.net/thread-4235547-1-1.html
看你以前不是会编译动态库的么,怎么现在技术倒退了。成功的步骤必须保持:mrgreen: 罚把以前的makefile抄10遍,再抄错拖出去打死;P 爻易 发表于 2016-05-19 22:38 static/image/common/back.gif
罚把以前的makefile抄10遍,再抄错拖出去打死
我为什么要说再呢:emn30: VIP_fuck 发表于 2016-05-19 08:25 static/image/common/back.gif
这个问题。。。撸主,这个跟 makefile 有关系的可能不大。除非你引用外部库的版本变了。。。。当然,库比较傻逼的时候会有这种问题。
所以,上代码。
就这俩接口,谁要是能看出来断错误的原因,那就厉害了。
#包含 <豆你玩.头>
空 豆你玩(空)
{
输出(:mrgreen: :em17: :lol: :em02: );
} 本帖最后由 shihyu 于 2016-05-19 23:12 编辑
CC = gcc
SOFLAGS = -shared -fPIC
LDFLAGS = -lm
CFLAGS = -Wall -pedantic -ggdb3 -O0 -std=c99 -lpthread
all: add.so sub.so main
main:
${CC}-o mainmain.c -L./ -ladd -L./ -lsub ${CFLAGS} ${LDFLAGS}
add.so: add.c
$(CC) ${SOFLAGS} -o libadd.so $?
sub.so: sub.c
$(CC) ${SOFLAGS} -o libsub.so $?
.PHONY: clean
clean:
rm -f main *.so *.o
可以了感谢^^
页:
1
[2]