在OS X 10.10.3上编译Vim不起作用

时间:2015-04-16 14:44:04

标签: macos gcc vim

[我不确定这是否适合这里或应该转移到apple.SE]

今天我有了重新编译我的vim的想法,以获得最新的更新。我有一两次跟随this answer中的建议,所以我又做了一次。我克隆了回购并跑了

./configure --prefix=/opt/local/ --with-features=huge

(我试过没有选项,问题仍然存在) 当编译器试图解析ObjC文件时(无论出于何种原因),编译总是会中止

/usr/include/objc/NSObject.h:22:4: error: unknown type name 'instancetype'
 - (instancetype)self;

编译器似乎不知道当前的Objective-C标准。 gcc似乎存在问题,因为我找到了this bug ticket。但是,最新的更新是去年。

有人可以建议一种方法来使这项工作吗?

编辑:我知道我可以通过自制软件或macports安装它;但我仍然很好奇如何解决这个特殊问题。

此外,我尝试手动将编译器更改为clang,如此

CC=clang ./configure --prefix=/opt/local/ --with-features=huge

在运行之前简单地设置CC=clang(这就是配置帮助似乎在宣传的内容)并且看到它什么也没做。但是,当以这种方式指定编译器时(我也尝试使用gcc),许多configure检查结果为no,最终会中止。

1 个答案:

答案 0 :(得分:4)

我假设gcc尚未配置Objective-C支持(它至少支持C,C ++和Objective-C,安装程序可以选择他们想要的任何支持)。

第三方clang可能在同一条船上。但是我知道Xcode版本支持所有3种语言,并且会选择正确的OSX Cocoa运行时库,因此使用它似乎解决了这个问题:

$ CC="xcrun clang" ./configure --prefix=/opt/local/ --with-features=huge

然而,仅使用clang也应该有效,如果which clang按照您的说法返回/usr/bin/clang,那么我无法解释为什么没有工作