- 浏览: 307844 次
- 性别:
- 来自: 大连
-
文章分类
最新评论
-
syw19901001:
从入门到精通,不错。http://www.ihref.com/ ...
使用git进行版本控制 -
轻指飞扬:
...
一场程序员和老板的对话 -
luogen33:
ttttttttttttttttttttttttttttttt ...
lsmod -
luogen33:
ttttttttttttttttttt
lsmod -
vaqeteart:
嗯那
得到与享受
感觉不错的解决方法,还没有尝试过,先转载下来了。
解决“C compiler cannot create executables”的错误
Posted on 2006-09-25 by hilyjiang
作者:Hily 原始链接:http://hily.me/blog/2006/09/minigui-compile-error/
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
miniGUI 1.3.3中“Development environment options”的配置如下:
│ │ (uClinux) Platform │ │
│ │ (arm-elf-gcc) Compiler │ │
│ │ (uClibc) Libc │ │
│ │ --- Compilation and installation options │ │
│ │ uClinux dist directory: "/opt/uClinux/uClinux-dist" │ │
│ │ [ ] Choose different uClibc directory │ │
│ │ --- Installation options │ │
│ │ Path prefix: "/usr/local" │ │
│ │ --- Additonal Compiler Flags │ │
│ │ CFLAGS: "" │ │
│ │ LDFLAGS: "" │ │
配置完后,保存配置时出错:
Saving your MiniGUI configuration...
install prefix = /usr/local
compiler = arm-elf-gcc
target = arm-elf-linux
host = arm-elf-linux
CFLAGS = -Os -D__uClinux__ -fno-builtin -I/home/work1/uClinux-dist-server/linux-2.4.x/include -I/home/work1/uClinux-dist-server/lib/uClibc/include -I/home/work1/uClinux-dist-server/lib/uClibc/include/../ -D__PIC__ -fpic -msingle-pic-base
LDFLAGS = -Wl,-elf2flt -Wl,-move-rodata -L/home/work1/uClinux-dist-server/lib/uClibc/lib -L/home/work1/uClinux-dist-server/lib/uClibc/lib/../ -lc
checking build system type... i386-pc-linux-gnu
checking host system type... arm-elf-linux-gnu
checking target system type... arm-elf-linux-gnu
checking for arm-elf-linux-gcc... arm-elf-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.
*** End of MiniGUI configuration.
*** Next, you must run 'make'.
花了大半天查错,终于找到答案。
查看config.log出错的地方为:
95 configure:2069: checking for C compiler default output
96 configure:2072: arm-elf-gcc conftest.c >&5
97 /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':
98 : undefined reference to `__CTOR_LIST__'
99 /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'
100 collect2: ld returned 1 exit status
101 configure:2075: $? = 1
看到96行arm-elf-gcc的编译选项居然为空,不解。。
查看configure中2072行附近:
echo "$as_me:$LINENO: checking for C compiler default output" >&5
echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
(eval $ac_link_default) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
其中ac_link在1716行定义:
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
奇怪的是CFLAGS居然是空的,在保留配置时明明看到有给CFLAGS赋值:
CFLAGS = -Os -D__uClinux__ -fno-builtin -I/home/work1/uClinux-dist-server/linux-2.4.x/include -I/home/work1/uClinux-dist-server/lib/uClibc/include -I/home/work1/uClinux-dist-server/lib/uClibc/include/../ -D__PIC__ -fpic -msingle-pic-base
看看到底是怎么保存的,scripts/Menuconfig中:
1412 #
1413 # Confirm and Save
1414 #
1415 if $DIALOG --backtitle "$backtitle" \
1416 --yesno "Do you wish to save your new MiniGUI configuration?" 5 60
1417 then
1418 save_configuration
1419 scripts/mkconfig
1420 ./config-mnu
1421 #rm config-mnu
保存时运行了scripts/mkconfig和./config-mnu,config-mnu是在mkconfig中生成的。而. /configure是在config-mnu中运行的,但是在config-mnu中却没有CFLAGS的设置。检查config-mnu,当我看到这几行时,我真的又想杀人了:
189 echo "CC=$CC \\" >> $CONFIG_MNU
190 #echo "CFLAGS=\"$CFLAGS\" \\" >> $CONFIG_MNU
191 #echo "LDFLAGS=\"$LDFLAGS\" \\" >> $CONFIG_MNU
192 echo "./configure \\" >> $CONFIG_MNU
好好的,谁把它们注释掉了!
把注释的那两行恢复一下就通过了。
– EOF –
This entry was posted in 嵌入式. Bookmark the permalink.
解决“C compiler cannot create executables”的错误
Posted on 2006-09-25 by hilyjiang
作者:Hily 原始链接:http://hily.me/blog/2006/09/minigui-compile-error/
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
miniGUI 1.3.3中“Development environment options”的配置如下:
│ │ (uClinux) Platform │ │
│ │ (arm-elf-gcc) Compiler │ │
│ │ (uClibc) Libc │ │
│ │ --- Compilation and installation options │ │
│ │ uClinux dist directory: "/opt/uClinux/uClinux-dist" │ │
│ │ [ ] Choose different uClibc directory │ │
│ │ --- Installation options │ │
│ │ Path prefix: "/usr/local" │ │
│ │ --- Additonal Compiler Flags │ │
│ │ CFLAGS: "" │ │
│ │ LDFLAGS: "" │ │
配置完后,保存配置时出错:
Saving your MiniGUI configuration...
install prefix = /usr/local
compiler = arm-elf-gcc
target = arm-elf-linux
host = arm-elf-linux
CFLAGS = -Os -D__uClinux__ -fno-builtin -I/home/work1/uClinux-dist-server/linux-2.4.x/include -I/home/work1/uClinux-dist-server/lib/uClibc/include -I/home/work1/uClinux-dist-server/lib/uClibc/include/../ -D__PIC__ -fpic -msingle-pic-base
LDFLAGS = -Wl,-elf2flt -Wl,-move-rodata -L/home/work1/uClinux-dist-server/lib/uClibc/lib -L/home/work1/uClinux-dist-server/lib/uClibc/lib/../ -lc
checking build system type... i386-pc-linux-gnu
checking host system type... arm-elf-linux-gnu
checking target system type... arm-elf-linux-gnu
checking for arm-elf-linux-gcc... arm-elf-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.
*** End of MiniGUI configuration.
*** Next, you must run 'make'.
花了大半天查错,终于找到答案。
查看config.log出错的地方为:
95 configure:2069: checking for C compiler default output
96 configure:2072: arm-elf-gcc conftest.c >&5
97 /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':
98 : undefined reference to `__CTOR_LIST__'
99 /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'
100 collect2: ld returned 1 exit status
101 configure:2075: $? = 1
看到96行arm-elf-gcc的编译选项居然为空,不解。。
查看configure中2072行附近:
echo "$as_me:$LINENO: checking for C compiler default output" >&5
echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
(eval $ac_link_default) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
其中ac_link在1716行定义:
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
奇怪的是CFLAGS居然是空的,在保留配置时明明看到有给CFLAGS赋值:
CFLAGS = -Os -D__uClinux__ -fno-builtin -I/home/work1/uClinux-dist-server/linux-2.4.x/include -I/home/work1/uClinux-dist-server/lib/uClibc/include -I/home/work1/uClinux-dist-server/lib/uClibc/include/../ -D__PIC__ -fpic -msingle-pic-base
看看到底是怎么保存的,scripts/Menuconfig中:
1412 #
1413 # Confirm and Save
1414 #
1415 if $DIALOG --backtitle "$backtitle" \
1416 --yesno "Do you wish to save your new MiniGUI configuration?" 5 60
1417 then
1418 save_configuration
1419 scripts/mkconfig
1420 ./config-mnu
1421 #rm config-mnu
保存时运行了scripts/mkconfig和./config-mnu,config-mnu是在mkconfig中生成的。而. /configure是在config-mnu中运行的,但是在config-mnu中却没有CFLAGS的设置。检查config-mnu,当我看到这几行时,我真的又想杀人了:
189 echo "CC=$CC \\" >> $CONFIG_MNU
190 #echo "CFLAGS=\"$CFLAGS\" \\" >> $CONFIG_MNU
191 #echo "LDFLAGS=\"$LDFLAGS\" \\" >> $CONFIG_MNU
192 echo "./configure \\" >> $CONFIG_MNU
好好的,谁把它们注释掉了!
把注释的那两行恢复一下就通过了。
– EOF –
This entry was posted in 嵌入式. Bookmark the permalink.
发表评论
-
VNC服务配置
2012-08-21 12:30 2430VNC服务配置 VNC (Virtual N ... -
arp
2012-08-13 13:59 1805[功能] 管理系统的arp缓存。 [描述] 用来管理系统的 ... -
tcpdump
2012-08-10 16:26 1725tcpdump [功能] 抓包工具 ... -
使用git进行版本控制
2012-06-14 18:05 19730使用git进行版本控制 ... -
netstat
2012-05-29 16:15 1652netstat [功能] netstat是一 ... -
route
2012-05-18 14:56 1391route [-CFvnee] route [-v] [- ... -
关于存储管理中的一些概念
2011-11-17 17:49 1784关于存储管理中的一些概念 ... -
man命令
2011-10-30 09:54 1133man命令 若你想要找尋具 ... -
程序流程图绘制
2011-08-10 17:11 886dia windows http://sourceforge ... -
使用tnef打开*.dat的邮件
2011-08-10 16:06 1786有时,windows上面发送的mail是dat格式的,例如wi ... -
[转]jad反编译java
2011-08-04 11:14 1683jad 的使用方法 JAD本身 ... -
关于sizeof
2011-08-02 15:17 1262关于sizeof sizeof以字节形 ... -
wordpress备份和恢复
2011-07-14 17:42 2425wordpress备份和恢复 本文 ... -
wordpress恢复片段
2011-07-01 18:05 1168如何备份和恢复? 1,备份 假设在wordpress服务器上面 ... -
sorry I'm OoO
2011-07-01 10:41 840OOO(Out of Office)中文意思:在野;不执政; ... -
vim画图插件
2011-06-27 16:13 1321DrawIt:Vim画图插件(可在vim中画基本示意图) 还是 ... -
UML相关工具一览
2011-03-31 10:45 873http://www.umlchina.com/Tools/N ... -
svn 补充技巧
2010-12-03 14:07 3341http://hqlong.com/2009/02/641.h ... -
spinlock sample
2010-11-26 12:33 9302个使用spinlock的字符驱动完整例子 有待回去仔细验证 -
关于动迁
2010-10-15 16:27 1002什么是动迁?拆迁?回 ...
相关推荐
tool.jar下载Unable to create schema compiler需要加载tool.jar的同学们。
总之,MPLAB XC8 C Compiler是一款功能强大、易于使用的C语言编译器,非常适合用于Microchip的8位PIC微控制器的应用开发。通过合理利用其高级特性,开发者可以显著提升程序性能,同时享受高效的开发体验。
### CCS C Compiler 知识点解析 #### 一、CCS C Compiler 概述 CCS C Compiler 是一款专门用于编程 Microchip PIC 微控制器的编译器工具。这款工具支持从基本的编译功能到高级优化选项,适用于从初学者到专业开发者...
针对"v5编译器,解决keil5.38compiler报错"这个主题,我们可以深入探讨如何识别和解决这些问题。 首先,Keil uVision是一款广泛应用于嵌入式开发的集成开发环境(IDE),它包含了C/C++编译器、链接器、模拟器和调试...
ARM Compiler v5.01, Build 94, is intended for use as an update...This update consists of an updated compiler, linker, assembler, fromelf, and armar program executables, include files and C/C++ libraries.
标题 "Portable C compiler 源码" 指向的是一个可移植的C语言编译器的源代码,主要用于在Linux环境下使用GCC构建C/C++编译器。这个项目可能是为了提供一个轻量级的、易于部署的解决方案,使得开发者能够在不同的系统...
解决matlab编译可执行文件过程中的错误,(应该是破解不完全) 错误使用 mcc Test checkout of feature 'Compiler' failed.
C0Compiler是一个专门用于解析和执行C0语言的解释程序,C0是C语言的一个简化版本,常用于教学和理解编译原理。这个程序的主要功能是将C0语言的源代码转换为机器可执行的指令,而无需经过传统的编译和链接步骤。以下...
总之,Avocet C Compiler结合Motorola 68HC11微控制器,为开发者提供了强大的工具链,使在8位系统上的C语言编程变得轻松高效。通过深入理解和充分利用这些工具,开发者能够在有限的硬件资源下,创造出功能丰富、性能...
Tiny C Compiler(简称TCC)是一款轻量级的C语言编译器,由法国程序员Fabrice Bellard开发。它的特点是体积小巧,但编译和链接的速度极快,使其成为快速原型开发、嵌入式系统以及对编译速度有较高要求的项目的理想...
本文将深入探讨如何使用Yacc(Yet Another Compiler-Compiler)工具来构建一个C语言的编译器。 Yacc,全称为“另一个编译器的编译器”,是由美国贝尔实验室开发的一款语法分析器生成器。它根据词法分析器(如lex)...
Hi-tech picc c compiler v9.6 破解版
SDCC全称是“Small Device C Compiler”,它的主要目标是为8位、16位和32位的微控制器提供C语言的编译支持。这些微控制器通常用于嵌入式系统,其内存和处理能力有限,因此需要一个轻量级且高效的编译器来优化代码,...
在描述中提到的“missing compiler version 5的解决方法”,通常意味着用户在尝试使用或更新项目时遇到了找不到或无法识别ARM Compiler Version 5的情况。这可能由多种原因引起,如安装不完整、路径配置错误、软件...
首先,书名《Modern Compiler Implementation in C》揭示了本书的两个核心主题:现代编译器的实现,以及采用C语言作为实现工具。现代编译器设计涉及到多个复杂的阶段,而C语言作为一种高效的系统编程语言,非常适合...
CCS C-COMPILER是一款强大的C语言编译器,它允许开发者使用高级的C语言进行编程,而非低级的汇编语言,大大提高了开发效率。版本4.023可能包含了一些性能优化、错误修复以及新功能,以满足不断发展的嵌入式系统需求...
TCC(Tiny C Compiler)0.9.26源码 原版和VS工程版 VS版: 已经实现VS2008和VS2013 打开即用 可编译 可调试 建议使用VS2008编译
Tiny C Compiler(TCC) 是一个轻量级高速的C语言编译器。 TCC的编译速度十分快,以至于编译一些大型项目都不需要Makefile文件。 TCC支持ANSI C,大部分的 ISO99 C的新标准和许多GNU C扩展以及C语言和汇编语言混编。...
《CCS 4.104 (PIC C Compiler)——高效微控制器编程的得力工具》 CCS 4.104是一款专为PIC微控制器设计的C编译器,是开发人员进行嵌入式系统开发的重要工具。它以其易用性、高效性和丰富的功能在嵌入式开发者中获得...