glibc-2.11编译报错
../sysdeps/i386/fpu/s_frexp.S: Assembler messages:
../sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
../sysdeps/i386/fpu/s_frexp.S:66: Error: unrecognized symbol type ""
../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
../sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
../sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
解决方法见:http://www.eglibc.org/archives/patches/msg00073.html
Index: sysdeps/unix/sysv/linux/i386/sysdep.h
===================================================================
--- sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
+++ sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
@@ -29,6 +29,10 @@
#include <dl-sysdep.h>
#include <tls.h>
+#if defined __i686 && defined __ASSEMBLER__
+#undef __i686
+#define __i686 __i686
+#endif
/* For Linux we can use the system call table in the header file
/usr/include/asm/unistd.h
Index: nptl/sysdeps/pthread/pt-initfini.c
===================================================================
--- nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
+++ nptl/sysdeps/pthread/pt-initfini.c (working copy)
@@ -45,6 +45,11 @@
/* Embed an #include to pull in the alignment and .end directives. */
asm ("\n#include \"defs.h\"");
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
+asm ("\n#undef __i686");
+asm ("\n#define __i686 __i686");
+asm ("\n#endif");
+
/* The initial common code ends here. */
asm ("\n/*@HEADER_ENDS*/");
#Summary
分享到:
相关推荐
# camera config for camera detector #PRODUCT_COPY_FILES += \ # device/softwinner/astar-y3/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini #add gms features #PRODUCT_COPY_FILES +=...
# camera config for camera detector #PRODUCT_COPY_FILES += \ # device/softwinner/astar-y3/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini #add gms features #PRODUCT_COPY_FILES +=...
- **ERROR103: invalid character constant** - **原因**:尝试重新声明一个已经定义的宏。 - **解决方法**:使用`#undef`指令取消原有宏的定义,或者确认宏是否需要被重新定义。 - **ERROR104: identifier ...
8. **Bad ifdef directive syntax** - `#ifdef`预处理指令的语法错误,可能缺少标识符或语法不完整。 9. **Bad undef directive syntax** - `#undef`预处理指令的语法错误,需要确保正确的标识符被取消定义。 10. ...
- 解析:复合语句(如if、for、while等)缺失左花括号。 18. **Conflicting type modifiers** - 解析:类型修饰符之间存在冲突,例如同时使用`signed`和`unsigned`。 19. **Constant expression required** - ...
Bad ifdef directive synatax ------------------------------编译预处理ifdef有语法错 Bad undef directive syntax ---------------------------编译预处理undef有语法错 Bit field too large ----------------位...
8. **Bad ifdef directive syntax**:`#ifdef`预处理指令的语法错误,确保正确使用宏定义。 9. **Bit field too large**:位字段的大小超过了数据类型的位数限制。 10. **Call of non-function**:试图调用一个...
- **Bad ifdef directive syntax**: 编译预处理ifdef指令语法错误。 - **Bad undef directive syntax**: 编译预处理undef指令语法错误。 - **Bit field too large**: 位字段太长。 - **Call of non-function**: 调用...
- **Invalid character in identifier**: 标识符中出现无效字符,可能是因为使用了保留字或特殊字符。 - **Invalid escape sequence in string literal**: 字符串字面量中的转义序列无效,例如错误的转义字符。 - **...
8. Bad ifdef directive syntax - `#ifdef`预处理指令语法错误,可能是缺少标识符或者格式问题。 9. Bad undef directive syntax - `#undef`预处理指令语法错误,同样可能是格式问题。 10. Bit field too large - ...
define directive needs an identifier (define指令需要标识符) 使用`#define`指令时,如果没有提供正确的标识符,编译器会报错。检查`#define`指令中的标识符是否正确。 #### 28. division by zero do statement...
27. **#define directive needs an identifier** - #define指令需要标识符:预处理器定义指令要求后跟一个有效的标识符。检查定义后的名称是否符合C++的标识符规则。 28. **Division by zero** - 除以零:这是数学...
Defined directive needs an identifier (定义编译预处理需要标识符) - **解释**:`#define`指令后缺少有效的标识符。 - **解决方案**:在`#define`指令后添加正确的标识符。 #### 27. Division by zero (用零作为...
#### Defined directive needs an identifier (定义指令需要标识符) **描述**: 预处理指令`#define`后面没有跟有效的标识符。 **解决方法**: 确保`#define`指令后面跟的是有效的标识符。 #### Division by zero ...
#### Defined directive needs an identifier (定义指令需要一个标识符) **错误说明**:`#define` 指令中没有提供标识符。 **解决方法**:为 `#define` 指令提供一个有效的标识符。 #### Division by zero (除以...
确保使用了正确的格式:`#ifdef identifier`。 #### 9. 预处理指令#undef语法错误 (Bad undef directive syntax) `#undef` 用于取消定义一个宏定义,如果其后没有紧跟有效的标识符则会报错。正确的格式为:`#undef...
定义指令需要标识符(Define directive needs an identifier) 使用 `#define` 指令时未指定一个有效的标识符作为宏名。 #### 28. 除以零(Division by zero) 尝试将一个数除以零。这是数学上的未定义操作,在...
// Function.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "math.h" #include "express.h" #include <ctype.h> #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_...
### defined directive needs an identifier `#define`指令需要一个标识符。`#define`用于定义宏,后跟宏名和替换文本,确保格式正确。 ### division by zero 除数为零。在数学运算中,除以零是没有定义的,应...