免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: bobodu
打印 上一主题 下一主题

编译错误:undefined reference to [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-10-17 16:03 |只看该作者
编译其他模块时出现如下错误:
g++: cannot specify -o with -c or -S and multiple compilations
这个是编译器的问题吗?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
12 [报告]
发表于 2007-10-17 19:04 |只看该作者
原帖由 bobodu 于 2007-10-17 15:56 发表
D:\IXP1200\BoardSupport\Diagnostics\Rom>
加了lc也不行

加了 -lc 和 linker 找到了 libc.a/libc.so 是两回事情。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
13 [报告]
发表于 2007-10-17 19:05 |只看该作者
原帖由 bobodu 于 2007-10-17 16:03 发表
编译其他模块时出现如下错误:
g++: cannot specify -o with -c or -S and multiple compilations
这个是编译器的问题吗?

把完整的编译命令贴出来看看。

论坛徽章:
0
14 [报告]
发表于 2007-10-17 20:35 |只看该作者
原帖由 bobodu 于 2007-10-17 16:03 发表
编译其他模块时出现如下错误:
g++: cannot specify -o with -c or -S and multiple compilations
这个是编译器的问题吗?


是使用编译器的问题

g++: cannot specify -o with -c   or  -S  and multiple compilations
g++: 不可以在指定 -o 选项的同时指定 -c 或者 -S 选项

手边备本字典是很有必要di

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
15 [报告]
发表于 2007-10-18 09:00 |只看该作者

回复 #14 xB1ue 的帖子

我试了下, gcc/g++ 3.4.6 中 -o 和 -c 是可以混用的。

论坛徽章:
0
16 [报告]
发表于 2007-10-18 09:35 |只看该作者
我的gcc编译版本为:gcc version 3.2 20020927 (prerelease)
在tornado2.0环境中CXX=$(CC)指定为ccarm,编译均不报错,在tornado2.2中若将CXX=$(CC)指定为ccarm,报同样的错:
ccarm:cannot specify -o with -c   or  -S  and multiple compilations

编译命令:(根据编译手册操作)
make -f vxworks_gig.mak clean
make -f vxworks_gig.mak all
部分makefile如下:
$(OBJ_DIR)/%.o : %.cpp
         if not exist "$(OBJ_DIR)/$(NULL)" mkdir "$(OBJ_DIR)"
        $(COVC) $(CXX) $(DBG_FLAG) $(BE_FLAG) $(C++FLAGS) -x assembler-with-cpp -c $^ -o $@
        @ echo ""

$(OBJ_DIR)/%.o : %.c
         if not exist "$(OBJ_DIR)/$(NULL)" mkdir "$(OBJ_DIR)"
        $(COVC) $(CC) $(DBG_FLAG) $(BE_FLAG) $(C++FLAGS) -c $^ -o $@
        @ echo ""

$(OBJ_DIR)/%.o : %.s
         if not exist "$(OBJ_DIR)/$(NULL)" mkdir "$(OBJ_DIR)"
        $(CC) $(DBG_FLAG) $(BE_FLAG) $(C++FLAGS) -c $^ -o $@
        @ echo ""

gcc编译器中-c 与-o 参数默认兼容的吧,我第一次碰到这个问题,以前编译都是-c 与-o一起用的

论坛徽章:
0
17 [报告]
发表于 2007-10-18 17:11 |只看该作者
哪位高手能指点一下啊,这个问题困扰我好久了,弄来弄去这个是最本质的问题。
其中对编译结果有影响的是$(C++FLAGS) 参数,(见上一贴)定义如下:
C++FLAGS        = $(CC_ARCH_SPEC) $(C++_COMPILER) $(CC_OPTIM) $(C++_WARNINGS) $(CC_INCLUDE) $(CC_DEFINES) $(ADDED_C++FLAGS)  $(CC_SOFT_FLOAT)
而C++FLAGS参数中影响结果的是$(CC_DEFINES),定义如下:
CC_DEFINES        = CPU=$(CPU) TOOL_FAMILY=$(TOOL_FAMILY) TOOL=$(TOOL)           $(DEFINE_CC) $(EXTRA_DEFINE)
若去掉CPU=$(CPU)则会报CPU没定义错误,CPU=ARMSA110,而不去掉就报如下错误:
g++:cannot specify -o with -c   or  -S  and multiple compilations

而其他参数基本没什么影响,而且我用gcc -c x.c -o x.o等操作时不会报上面的错误,郁闷ing

论坛徽章:
0
18 [报告]
发表于 2007-10-18 18:10 |只看该作者
原帖由 bobodu 于 2007-10-18 17:11 发表
哪位高手能指点一下啊,这个问题困扰我好久了,弄来弄去这个是最本质的问题。
其中对编译结果有影响的是$(C++FLAGS) 参数,(见上一贴)定义如下:
C++FLAGS        = $(CC_ARCH_SPEC) $(C++_COMPILER) $(CC_OPTIM) $( ...


把 C++FLAGS 的值echo出来看看

论坛徽章:
0
19 [报告]
发表于 2007-10-19 09:10 |只看该作者
我是将C++FLAGS的参数逐个查找的,其展开结果见现面蓝色部分:
-mcpu=strongarm110 -mapcs-32   -O2 -mno-sched-prolog -fno-builtin -fvolatile   -I/h   -I.
-ID:\Tornado2.2\target\config\all -ID:\Tornado2.2\target/h -ID:\Tornado2.2\target/src/config -ID:\Tornado2.2\target/src/drv CPU=ARMSA110   -w -Wall -p
edantic -DOS=VXWORKS -DIOSTYLE=HARDWARE   -DVX_WORKS -D__unix -DWB_SVR -I../../u
tils -I../../osApi -I../../include -I../../BoardSupport/VxWorks/ixp1200eb -I../core_utils -I../msgq  -DMAC_21440 -DMAC_GC82547EB -DFBUS_DEV0_TYPE=0 -DFBUS_DEV1_
TYPE=0 -DFBUS_DEV2_TYPE=1 -DFBUS_DEVICE_COUNT=3 -DWB_SVR -DROUTE
   -x assembler-with-cpp -c config_1200.cpp -o vxw_rel/config_1200.o

这个变量比较长,其中红色部分为CPU=$(CPU)的定义

哪位大虾能给点建设性的意见啊

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
20 [报告]
发表于 2007-10-19 09:17 |只看该作者

回复 #19 bobodu 的帖子

自己搜索或者去 g++ 的邮件列表问吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP