Open Newkami opened 1 year ago
这个问题是因为 libtinyxml.a里面含有main函数,冲突了。是因为 libtinyxml.a 安装的时候没改makefile,看下视频重新安装一下
up视频或者Readme中的教程最好改一下昂 只改OUTPUT不太行 将其中的OUTPUT := xmltest一行修改为:OUTPUT := libtinyxml.a 将xmltest.cpp从SRCS:=tinyxml.cpp tinyxml-parser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp中删除 注释掉xmltest.o:tinyxml.h tinystr.h。因为不需要将演示程序添加到动态库中。 将${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} 修改为:${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} 然后再make就可以啦
up视频或者Readme中的教程最好改一下昂 只改OUTPUT不太行 将其中的OUTPUT := xmltest一行修改为:OUTPUT := libtinyxml.a 将xmltest.cpp从SRCS:=tinyxml.cpp tinyxml-parser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp中删除 注释掉xmltest.o:tinyxml.h tinystr.h。因为不需要将演示程序添加到动态库中。 将${LD} -o @{LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} 修改为:${AR} @{LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} 然后再make就可以啦
你可真是我今晚的98%救世主,要是最后那个修改打对了就完美了: 将其中的OUTPUT := xmltest一行修改为OUTPUT := libtinyxml.a
将xmltest.cpp从SRCS:=tinyxml.cpp tinyxml-parser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp中删除,
注释掉xmltest.o:tinyxml.h tinystr.h。
将${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}修改为:
${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}。
我特么狂报stdout版本错误编译不成功,我还以为我用cmake改的有问题链接库不正确。
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/libtinyxml.a: stdout: invalid version 3 (max 0) /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/libtinyxml.a: error adding symbols: bad value
好像libtinyxml存在一点点问题 试了几次最后make的时候都会报这个错 系统用的是centos8.5