在用make命令编译makefile时,只生成.o文件。却没能生成。so文件,求高人指点?
小弟在用make命令编译makefile时,只生成.o文件。却没能生成。so文件。makefile文件如下:
libCardApp.so:CFLAGS = -g -rdynamic
libCardApp.so: DES.cpp.o TOOLS.cpp.o DEVICE.cpp.o LOG.cpp.o DEVCMD.cpp.o CARDCMD.cpp.o SAM.cpp.o CARD.cpp.o CARD1.cpp.o CARD2.cpp.o CARD3.cpp.o CARD4.cpp.o CARD5.cpp.o CARD6.cpp.o CARD7.cpp.o CARD8.cpp.o CARD9.cpp.o CARDTREAT.cpp.o CARDAPP.cpp.o
g++ $(CFLAGS) -fPIC -o libCardApp.so DES.cpp.o TOOLS.cpp.o DEVICE.cpp.o LOG.cpp.o DEVCMD.cpp.o CARDCMD.cpp.o SAM.cpp.o CARD.cpp.o CARD1.cpp.o CARD2.cpp.o CARD3.cpp.o CARD4.cpp.o CARD5.cpp.o CARD6.cpp.o CARD7.cpp.o CARD8.cpp.o CARD9.cpp.o CARDTREAT.cpp.o CARDAPP.cpp.o -shared -lpthread -L. -lZBLCommunication -Wl,-rpath,./
test:CFLAGS = -g -rdynamic
test:test.cpp
g++ $(CFLAGS) -D __LINUX__ -o test test.cpp -lpthread -L. -lCardApp -lZBLCommunication -Wl,-rpath,./
(部分省略)
.PHONY:clean
clean:
rm -f *.cpp.o
注:1.编译环境我用的是CYGWIN,环境配置没有问题
2.我怀疑是不是因为用到的。cpp文件中没有对函数进行声明呢?
3.小弟make -f makefile后编译器直接出来一堆的警告,说“char字符不能转换”。而且报错说-rdynamic找不到。这是怎么回事?