免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1879 | 回复: 2
打印 上一主题 下一主题

请教使用CC编译C++程序的错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-09 09:58 |只看该作者 |倒序浏览
系统:
> /bin/arch
sun4
>/bin/uname -r
5.8

使用别人已经做好的编译选项时出现以下错误:
CC -xM1 -xarch=v9 -staticlib=Cstd -g -DSUN64  -D__SOLARIS__  -I/usr/local64/include -I/appls/tools/gtk-1.2 -I/appls/tools/glib-1.2   -c var.cpp

编译错误:
"/usr/include/wchar.h", line 21: Error: Multiple declaration for std::tm.
"/usr/include/time.h", line 30: Error: Multiple declaration for std::tm.

"/opt/SUNWspro/prod/include/CC/Cstd/rw/locimpl", line 243: Error: Cannot return void* from a function that should return __rwstd::facet_imp*.

"/opt/SUNWspro/prod/include/CC/Cstd/rw/vendor", line 59: Error: Could not find a match for std::ctype<char>::ctype(void*, bool, int).

而我用自己做的Makefile则可以顺利通过:
g++ -Wall -g -D__DEBUG__  -D__SOLARIS__ -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/openwin/include
-c var.cpp  -o var.o

关键是上面那些定义或则函数我在程序中都没有用到过!难道Solaris的CC需要包含其它一些特定的头文件或者库?搞得特郁闷!谢谢

论坛徽章:
0
2 [报告]
发表于 2007-12-13 23:29 |只看该作者
CC -xM1 -xarch=v9 -staticlib=Cstd -g -DSUN64  -D__SOLARIS__  -I/usr/local64/include -I/appls/tools/gtk-1.2 -I/appls/tools/glib-1.2   -c var.cpp


应该是编译参数不对,“ staticlib=Cstd ”,   cc编译C++ 时 man  cc 看相应的参数说明嘛,

论坛徽章:
0
3 [报告]
发表于 2007-12-14 09:56 |只看该作者
C++的程序,CC和g++的不能混用。
你在使用gtk,需要用下载gtk源码,重新configure,使用CC编译器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP