c预处理器'cpp'在Mac OS X上使用Xcode 5.1.1通过'xcrun cpp'而不是'cpp'运行

时间:2014-11-06 22:22:38

标签: makefile xcode5 osx-mavericks configure c-preprocessor

我试图通过常规

从源代码构建工具(Icarus Verilog
./configure && make

构建在" configure"期间死亡,而config.log显示脚本/ Developer / usr / bin / cpp无法找到llvm-gcc-4.2。

FWIW,我可以在Xcode中构建各种应用程序(命令行,iOS,Mac OS X),并在几个cmdline工具上进行冒烟测试(例如" gcc -o hello hello.cc"等。)也运行正常。

xcode-select说:

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

这确实是我的Xcode 5.1.1安装的位置。 Xcode的cpp包装器脚本位于/ Developer / usr / bin / cpp中,但是(我的PATH中有该目录),该脚本执行此操作:

PATH="`xcode-select -print-path`/usr/bin:/usr/bin:/bin"
CPP="llvm-gcc-4.2 -E"
...
eval $CPP blah blah blah...

这对我的安装来说显然是错误的,因为llvm-gcc-4.2并不适用于xcode-select点;它位于/Developer/usr/llvm-gcc-4.2/bin。

有趣的是,Xcode"地点"首选项窗格显示Xcode认为我安装了命令行工具(正确的版本显示在"命令行工具"下拉菜单中),但OTOH,没有它们的迹象在"下载"首选项窗格"组件"。这有意义吗?

也许更新较旧的Xcode安装(可能是Xcode 3?)会将部分cmdline工具留在新安装的地方,而不是期望它们?

FWIW,我可以得到"配置"按如下方式成功运行:

$ CPP="xcrun cpp" ./configure

并且生成的配置脚本似乎有效(至少," make"之后成功完成),但这看起来不是一个合适的解决方案。无论如何,鉴于过去在Mac OS X上使用命令行构建的经验,我认为" cpp"如果没有装饰,应该正常运行。如果没有,为什么" cpp"要求使用" xcrun"当g ++,gcc和其他cmdline工具没有?

0 个答案:

没有答案