多版本gcc问题
由于编译需要 我在电脑上按了两个版本的gcc
自带版本 gcc -4.5 安装了一个 gcc-3.4
并按照网上的做法 将gcc3.4链接为 gcc34!
我也试着用gcc34 编译过helloworld!成功通过!
但 放到我的makefile里 进行编译,就会报错!
error:
gcc34 -Wall -g -lpthread -lstdc++ -lm -I/usr/local/Aria/include -L/usr/local/Aria/lib -lAria -lArNetworking -lArNetworkingJava -o Goto gotoActionExample.cpp
/usr/local/Aria/lib/libAria.so: undefined reference to `std::_List_node_base::_M_transfer(std::_List_node_base*, std::_List_node_base*)@GLIBCXX_3.4.14'
/usr/local/Aria/lib/libAria.so: undefined reference to `std::_List_node_base::_M_unhook()@GLIBCXX_3.4.14'
/usr/local/Aria/lib/libAria.so: undefined reference to `std::_List_node_base::_M_hook(std::_List_node_base*)@GLIBCXX_3.4.14'
collect2: ld returned 1 exit status
makefile:
1 SOURCE=gotoActionExample.cpp
2 OBJECTS=$(SOURCE:%.c=%.o)
3 TARGET = Goto
4 OPTION=-Wall -g -lpthread -lstdc++ -lm
5 INCLUDEPATH= -I/usr/local/Aria/include
6 LIBPATH=-L/usr/local/Aria/lib
7 LIBS=-lAria -lArNetworking -lArNetworkingJava
8 CC=gcc34
9
10 $(TARGET)(OBJECTS)
11 $(CC) $(OPTION) $(INCLUDEPATH) $(LIBPATH) $(LIBS) -o $(TARGET) $(OBJECTS )
12 clean:
13 -rm -f $(TARGET) *.o*~
如果 将gcc34 换成gcc 是不是就是用默认的gcc4.5了 !? 这样是能正常编译通过的!但目标服务器需要gcc3.4版本编译的!所以 我希望gcc34也能make通过 ,课老师报错 !有人知道怎么修改吗?!帮帮忙!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论