Linux中makefile问题
CC=/ralink/RT288x_SDK/toolchain/buildroot-gcc342/bin/mipsel-linux-gccOBJS=program.cCD...
CC=/ralink/RT288x_SDK/toolchain/buildroot-gcc342/bin/mipsel-linux-gcc
OBJS = program.c
CDREXE = program.so
#stdlibc++ known issue:
#If your program needs libstdc++, please turn off code optimization
CFLAGS +=-I/ralink/RT288x_SDK/source/lib/libsqlite3/
CFLAGS +=-fPIC -shared
LDFLAGS +=-L/ralink/RT288x_SDK/source/lib/libsqlite3 -lsqlite3
LDFLAGS +=-L/ralink/RT288x_SDK/source/romfs/lib -lpthread -ldl
program.so: $(OBJS)
$(CC) $^ -o $@
romfs:
$(ROMFSINST) /bin/$(CDREXE)
.PHONT:clean
clean:
rm -f $(CDREXE) *.elf *.gdb *.o *.so
执行make后信息/ralink/RT288x_SDK/toolchain/buildroot-gcc342/bin/mipsel-linux-gcc program.c -o program.so
为什么CFLAGS和LDFLAGS都没起作用呢? 展开
OBJS = program.c
CDREXE = program.so
#stdlibc++ known issue:
#If your program needs libstdc++, please turn off code optimization
CFLAGS +=-I/ralink/RT288x_SDK/source/lib/libsqlite3/
CFLAGS +=-fPIC -shared
LDFLAGS +=-L/ralink/RT288x_SDK/source/lib/libsqlite3 -lsqlite3
LDFLAGS +=-L/ralink/RT288x_SDK/source/romfs/lib -lpthread -ldl
program.so: $(OBJS)
$(CC) $^ -o $@
romfs:
$(ROMFSINST) /bin/$(CDREXE)
.PHONT:clean
clean:
rm -f $(CDREXE) *.elf *.gdb *.o *.so
执行make后信息/ralink/RT288x_SDK/toolchain/buildroot-gcc342/bin/mipsel-linux-gcc program.c -o program.so
为什么CFLAGS和LDFLAGS都没起作用呢? 展开
3个回答
展开全部
觉得你的makefile没写对呢,就你说的CFLAGS和LDFLAGS而言,有定义,但是都没有引用,怎么可能有作用
追问
romfs:
$(ROMFSINST) /bin/$(CDREXE)
是什么意思呢?romfs是伪目标吧,做什么的呢?
追答
不知道ROMFSINST的定义,我也不知道它是干嘛的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-07
展开全部
program.so: $(OBJS)
$(CC) $CFLAGS $LDFLAGS $^ -o $@
修改成上面内容试试。
追问
romfs:
$(ROMFSINST) /bin/$(CDREXE)
是什么意思呢?romfs是伪目标吧,做什么的呢?
追答
uClinux一般都会建立一个ROMFS文件系统,而把其它文件向该文件系统添加一般都通过$(ROMFSINST)命令,而ROMFSINST变量值就是romfs-inst.sh(这文件一般在和linux-2.6.x同级tools目录下),执行$(ROMFSINST)就是执行romfs-inst.sh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询