环境介绍 :
目标机上安装了两个版本gcc:gcc 3.36,gcc 4.41。makefile 使用gcc 3.36编译的。
Makefile链接部分:
FLAGS_LIB_PATH=-L../lib
FLAGS_LIB=-ldl -lxml++-2.6 -lcurl -lstdc++ ../lib/libstdc++.so.6
...
$(DIR_OUT)/$(FILE_OUT):$(OBJS_CPP) $(OBJS_CC)
$(LINK.cc) $(FLAGS_LINK) -o $@ $(addprefix $(DIR_OBJ)/,$(notdir $^)) $(FLAGS_LIB_PATH) $(FLAGS_LIB)
$(INSTALL_COMMAND)
问题:
项目依赖的libxml++2.6.so 依赖的GCC4.2.0 libstdc++.so.6, 这个库事先已经放在../lib 目录下了,但是/usr/lib目录下也有一个libstdc++.so.6库,这个是gcc 4.41安装的。
编译时出现:
linux-83nz:/home/projects/study/TestCURL # make
/opt/gcc-3.3.6/bin/g++ -o /home/projects/study/TestCURL/bin/testcurl /home/projects/study/TestCURL/bin/main.o /home/projects/study/TestCURL/bin/mycurl.o /home/projects/study/TestCURL/bin/myparser.o -L../lib -ldl -lxml++-2.6 -lcurl -lstdc++
/