我安装OS X Yosemite,现在我的gcc 4.9.1编译器存在很大问题。 我希望有人可以帮助我。
我尝试编译我的程序,并收到警告消息:
gcc: warning: couldn’t understand kern.osversion ‘14.0.0'
我在google上搜索,然后找到https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407 我尝试应用补丁:
sudo patch -p1 < /usr/local/bin/00-darwin-10.10.patch
在gcc文件夹中:/usr/local/bin/gcc
我收到了这条消息:
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
|index dd45802..0db14d7 100644
|--- a/fixincludes/fixincl.x
|+++ b/fixincludes/fixincl.x
--------------------------
File to patch:
在File to patch:
我已经尝试过gcc,我收到了消息:
patching file gcc
Hunk #1 FAILED at 1.
Hunk #2 FAILED at 15.
Hunk #3 succeeded at 1274 with fuzz 2 (offset -7908 lines).
Hunk #4 FAILED at 1319.
Hunk #5 FAILED at 1548.
Hunk #6 FAILED at 2671.
patch: **** Can't rename file gcc to gcc.orig : Permission denied
我尝试sudo
并收到:
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
|index dd45802..0db14d7 100644
|--- a/fixincludes/fixincl.x
|+++ b/fixincludes/fixincl.x
--------------------------
File to patch:
我在错误的文件夹中? 有人可以帮帮我吗?
答案 0 :(得分:31)
从源代码构建东西时遇到了类似的问题,这是因为我忘了在升级到Yosemite和xcode 6.1之后安装更新的命令行工具。在命令行中尝试:
xcode-select --install
这将下载并安装命令行工具,可能会解决您的问题。
答案 1 :(得分:20)
如果在编译之前在环境中设置MACOSX_DEPLOYMENT_TARGET=10.9
,则共享对象链接应该可以正常工作。
答案 2 :(得分:7)
如果您使用的是Homebrew,只需:
brew upgrade gcc
答案 3 :(得分:6)
这对我来说已经足够了,它不需要任何符号链接:
export CC=/Applications/Xcode.app/Contents/Developer/usr/bin/gcc
之后,只需像往常一样运行命令。
答案 4 :(得分:4)
这解决了我的问题:我将gcc链接到/Applications//Xcode.app/Contents/Developer/usr/bin/gcc
cd /usr/local/bin
ln -s /Applications//Xcode.app/Contents/Developer/usr/bin/gcc gcc
答案 5 :(得分:3)
您尝试使用的补丁用于修补GCC的源代码,并且您尝试使用它来修补已编译的二进制文件。那不会起作用。
理论上,这个过程将是
但是,您不太可能这样做,因为您无法运行编译器以编译自身的较新副本。捉住22!
在Google上搜索&#39; gcc yosemite&#39;我找到了许多可能的解决方案,例如。 enter link description here。我担心我不是mac专家所以我无法判断这些解决方案的质量。
答案 6 :(得分:2)
我在使用Xcode 6.1和GCC 5.0运行Yosemite(10.10.1)时,在GFORTRAN编译中也收到警告“无法理解kern.osversion`14.0.0'”。但是,编译器会生成正常运行的可执行代码,它似乎正常运行。也许你可以忽略这个警告?
答案 7 :(得分:0)
我通过链接解决了一个问题
else
答案 8 :(得分:0)
似乎想要一个当前版本的XCode命令行工具。当我第一次输入&#34; make&#34;安装Yosemite后,我收到一个警告和一个对话框,说我没有XCode命令行工具,并询问我是否要安装它们。我这样做了,一切正常。
但是,有一个用户没有收到此对话框,而是显示错误消息。 &#34; xcode-select --install&#34;没有用,所以好像它可能保留了过时的命令行工具和头文件。
MACOSX_DEPLOYMENT_TARGET = 10.9解决方案确实对他有用。然而,编译似乎要慢得多。
答案 9 :(得分:0)
我遇到了这个问题,安装了Xcode cli工具(xcode-select --install
),但仍然有问题。我已经从优胜美地升级到Mojave,并卸载了较旧版本的编译器对我来说很有效:
brew uninstall apple-gcc42
希望这对某人有帮助!