多版本gcc问题

发布于 2022-09-30 12:15:49 字数 1621 浏览 15 评论 0

由于编译需要 我在电脑上按了两个版本的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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文