GCC 4.9.2问题-链接错误“;“开始”;符号未定义(约塞米蒂更新后)

GCC 4.9.2问题-链接错误“;“开始”;符号未定义(约塞米蒂更新后),gcc,homebrew,osx-yosemite,Gcc,Homebrew,Osx Yosemite,因此,我升级到约塞米蒂,并将gcc更新为gcc-4.9。现在什么都不管用了。即使是这样的基本C程序: #include "stdio.h" void main() { printf("woh!"); } 下面是gcc-v a.c的详细信息。基本错误是: Undefined symbols for architecture x86_64: "start", referenced from: implicit entry/start for main executable

因此,我升级到约塞米蒂,并将gcc更新为gcc-4.9。现在什么都不管用了。即使是这样的基本C程序:

#include "stdio.h"

void main() {
    printf("woh!");
}
下面是gcc-v a.c的详细信息。基本错误是:

Undefined symbols for architecture x86_64:
  "start", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
这是我对CC、clang和gcc的配置

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/lto-wrapper
Target: x86_64-apple-darwin14.0.0
Configured with: ../configure --build=x86_64-apple-darwin14.0.0 --prefix=/usr/local/Cellar/gcc/4.9.2 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-cloog=/usr/local/opt/cloog --with-isl=/usr/local/opt/isl --with-system-zlib --enable-version-specific-runtime-libs --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --disable-werror --with-pkgversion='Homebrew gcc 4.9.2' --with-bugurl=https://github.com/Homebrew/homebrew/issues --enable-plugin --disable-nls --enable-multilib
Thread model: posix
gcc version 4.9.2 (Homebrew gcc 4.9.2) 
我已经创建了gcc到gcc-4.9的链接,该链接是使用自制软件成功安装的。我已运行
brew doctor
,未收到任何问题。命令行工具已使用
code-select-install

Gautams-MacBook-Pro:~ gautamrege$ ls -l /usr/local/bin/gcc
lrwxrwxr-x  1 gautamrege  admin  22 Nov 14 20:14 /usr/local/bin/gcc@ -> /usr/local/bin/gcc-4.9
Gautams-MacBook-Pro:~ gautamrege$ ls -l /usr/local/bin/gcc-4.9 
lrwxrwxr-x  1 gautamrege  admin  31 Nov 14 20:14 /usr/local/bin/gcc-4.9@ -> ../Cellar/gcc/4.9.2/bin/gcc-4.9
这些是我的CC和clang版本(基本相同)

最后,这里是使用
gcc-v
的详细日志

$ gcc -v a.c
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/lto-wrapper
Target: x86_64-apple-darwin14.0.0
Configured with: ../configure --build=x86_64-apple-darwin14.0.0 --prefix=/usr/local/Cellar/gcc/4.9.2 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-cloog=/usr/local/opt/cloog --with-isl=/usr/local/opt/isl --with-system-zlib --enable-version-specific-runtime-libs --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --disable-werror --with-pkgversion='Homebrew gcc 4.9.2' --with-bugurl=https://github.com/Homebrew/homebrew/issues --enable-plugin --disable-nls --enable-multilib
Thread model: posix
gcc version 4.9.2 (Homebrew gcc 4.9.2) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.10.0' '-v' '-mtune=core2'
 /usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/cc1 -quiet -v -D__DYNAMIC__ a.c -fPIC -quiet -dumpbase a.c -mmacosx-version-min=10.10.0 -mtune=core2 -auxbase a -version -o /var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//ccvx7Ydq.s
GNU C (Homebrew gcc 4.9.2) version 4.9.2 (x86_64-apple-darwin14.0.0)
    compiled by GNU C version 4.9.2, GMP version 6.0.0, MPFR version 3.1.2-p10, MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/Cellar/gcc/4.9.2/include"
ignoring nonexistent directory "/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/../../../../x86_64-apple-darwin14.0.0/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/include
 /usr/local/include
 /usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/include-fixed
 /usr/include
 /System/Library/Frameworks
 /Library/Frameworks
End of search list.
GNU C (Homebrew gcc 4.9.2) version 4.9.2 (x86_64-apple-darwin14.0.0)
    compiled by GNU C version 4.9.2, GMP version 6.0.0, MPFR version 3.1.2-p10, MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f90e36a64a568856fa161772b1b4076f
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.10.0' '-v' '-mtune=core2'
 as -arch x86_64 -force_cpusubtype_ALL -o /var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//cckdbo1t.o /var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//ccvx7Ydq.s
COMPILER_PATH=/usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/:/usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/:/usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/:/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/:/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/
LIBRARY_PATH=/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/:/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/../../../:/usr/lib/
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.10.0' '-v' '-mtune=core2'
 /usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/collect2 -dynamic -arch x86_64 -macosx_version_min 10.10.0 -weak_reference_mismatches non-weak -o a.out -L/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2 -L/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/../../.. /var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//cckdbo1t.o -no_compact_unwind -lSystem -lgcc_ext.10.5 -lgcc -lSystem -v
collect2 version 4.9.2
/usr/bin/ld -dynamic -arch x86_64 -macosx_version_min 10.10.0 -weak_reference_mismatches non-weak -o a.out -L/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2 -L/usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/../../.. /var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//cckdbo1t.o -no_compact_unwind -lSystem -lgcc_ext.10.5 -lgcc -lSystem -v
@(#)PROGRAM:ld  PROJECT:ld64-136
configured to support archs: armv6 armv7 armv7s i386 x86_64
Library search paths:
    /usr/local/Cellar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2
    /usr/local/Cellar/gcc/4.9.2/lib
    /usr/lib
    /usr/local/lib
Framework search paths:
    /Library/Frameworks/
    /System/Library/Frameworks/
Undefined symbols for architecture x86_64:
  "start", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
$gcc-v a.c
使用内置规格。
收集\u GCC=GCC
COLLECT_LTO_WRAPPER=/usr/local/cillar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/LTO-WRAPPER
目标:x86_64-apple-darwin14.0.0
配置为://COMPUTION——Bug=X86Y64-Apple DARWEN 140.0前缀=/Ur/Posi/CyrAR/Gcc/4.92-启用语言= C、C++、Objc、Obj-C++,fortran——程序后缀=-4.9——带gmp=/usr/local/opt/gmp——带mpfr=/usr/local/opt/mpfr——带mpc=/usr/local/opt/libmpc——带cloog=/usr/local/opt/cloog——带isl=/usr/local/opt/isl——带系统zlib——启用特定版本的运行库——启用libstdcxx时间=是——启用阶段1-检查——启用检查=发布——启用lto--使用pkgversion='Homebrew gcc 4.9.2'-和bugurl禁用werror=https://github.com/Homebrew/homebrew/issues --启用插件--禁用nls--启用多库
线程模型:posix
gcc版本4.9.2(自制gcc 4.9.2)
COLLECT_GCC_OPTIONS='-mmacosx版本min=10.10.0'-v'-mtune=core2'
/usr/local/Cellar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/cc1-quiet-v-D__动态_______.a.c-fPIC-quiet-dumpbase a.c-mmacosx version min=10.10.0-mtune=core2-auxbase a-version-o/var/folders/dr/kc0cps51533gqx58gv33g33g33x80000gn/T//ccvx7Ydq.s
GNU C(自制gcc 4.9.2)版本4.9.2(x86_64-apple-darwin14.0.0)
由GNU C版本4.9.2、GMP版本6.0.0、MPFR版本3.1.2-p10、MPC版本1.0.2编制
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
忽略不存在的目录“/usr/local/ceral/gcc/4.9.2/include”
忽略不存在的目录“/usr/local/ceral/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/../../../../../../x86_64-apple-darwin14.0.0/include”
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/usr/local/ceral/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/include
/usr/本地/包括
/usr/local/ceral/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/include-fixed
/usr/包括
/系统/库/框架
/图书馆/框架
搜索列表结束。
GNU C(自制gcc 4.9.2)版本4.9.2(x86_64-apple-darwin14.0.0)
由GNU C版本4.9.2、GMP版本6.0.0、MPFR版本3.1.2-p10、MPC版本1.0.2编制
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
编译器可执行校验和:f90e36a64a568856fa161772b1b4076f
COLLECT_GCC_OPTIONS='-mmacosx版本min=10.10.0'-v'-mtune=core2'
as-arch x86_64-force_cpusubtype_ALL-o/var/folders/dr/KC0CPS5153GQX5ZM8GV33X8000GN/T//cckdbo1t.o/var/folders/dr/KC0CPS5153GQX5ZM8GV33X8000GN/T//ccvx7Ydq.s
4.9.2.2/4.2/4.9.2/4.9.9.2/4.2/gcc/gcc/gcc/gcc/8/8/8 8/6.4.4.0 0/4.9.2/4.9.2/4.9.2/4.2/4.4.2/4.4.2/8/8.4.4.2/4.9.2/2/2/2/////////////7/4.9.9.9.9.9.9.9.9.2/2/2.2/2/2/2/2/7/2/2/2/2.9.9.9.9.9.9.2/4.9.2/2/2/2/2/2/2/2/2/2/2/7/7/4.9.9.9.9.9.9.9.2/2/2/8 8/9.2/lib/gcc/x86_64-apple-darw14.0.0/
LIBRARY_PATH=/usr/local/cillar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/:/usr/local/cillar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2/。/../:/usr/lib/
COLLECT_GCC_OPTIONS='-mmacosx版本min=10.10.0'-v'-mtune=core2'
/usr/local/cillar/gcc/4.9.2/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.2/collect2-dynamic-arch-x86_64-macosx_version_min 10.10.0-弱参考_不匹配非弱-o a.out-L/usr/local/cillar/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2-L/L/usr/local/gcc/4.2/4.9/lib/4.2/var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//cckdbo1t.o-无压缩解卷-lSystem-lgcc\u ext.10.5-lgcc-lSystem-v
collect2版本4.9.2
/usr/bin/ld-dynamic-arch x86\u 64-macosx\u version\u min 10.10.0-weak\u reference\u不匹配非弱-o a.out-L/usr/local/ceral/gcc/4.9.2/lib/gcc/x86\u 64-apple-darwin14.0.0/4.9.2-L/usr/local/ceral/gcc/4.9.2/lib/gcc/x86\u 64-apple-darwin14.0.0.0/4.9.2//var/folders/dr/kc0cps51533gqx5zm8gv33x80000gn/T//cckdbo1t.o-无压缩解卷-lSystem-lgcc\u ext.10.5-lgcc-lSystem-v
@(#)项目:ld项目:ld64-136
配置为支持ARCH:armv6 armv7 armv7s i386 x86_64
库搜索路径:
/usr/local/ceral/gcc/4.9.2/lib/gcc/x86_64-apple-darwin14.0.0/4.9.2
/usr/local/Cell/gcc/4.9.2/lib
/usr/lib
/usr/local/lib
框架搜索路径:
/图书馆/框架/
/系统/库/框架/
架构x86_64的未定义符号:
“开始”,引用自:
主可执行文件的隐式输入/启动
ld:找不到架构x86_64的符号
collect2:错误:ld返回了1个退出状态
我很确定我犯了一些基本的错误。不用说,所有其他软件包安装都因为同样的错误而失败。有什么想法吗?

将评论中的信息复制到此社区Wiki答案

解决此问题的关键是运行:

sudo xcode-select -s /Library/Developer/CommandLineTools/

这可以确保
clang
调用XCode 6版本的
clang

您的XCode是否已完全安装并更新?@omnintentity Nope-我只更新了XCode命令行工具
brew doctor
确实抱怨更新Xcode,我有Xcode 4.6.2,因为我从来不需要它。我假设你会要求我更新,所以我会这样做,并在这里更新帖子:)请至少使用
xcode-select-s/Library/D
sudo xcode-select -s /Library/Developer/CommandLineTools/