Xcode 5.1无法找到实用程序" make",而不是开发人员工具或PATH

时间:2014-05-23 18:29:32

标签: ios command-line protocol-buffers

我正在尝试关注these directions来安装Google Protocol Buffers。创建脚本后,我尝试使用以下命令运行它:

$ ./build-proto-ios.sh

我收到以下输出:

mkdir: ios-build: File exists
Platform is iPhoneSimulator
./build-proto-ios.sh: line 40: ./configure: No such file or directory
make: error: unable to find utility "make", not a developer tool or in PATH
make: error: unable to find utility "make", not a developer tool or in PATH
cp: src/.libs/libprotobuf-lite.a: No such file or directory
Platform is iPhoneOS
./build-proto-ios.sh: line 40: ./configure: No such file or directory
make: error: unable to find utility "make", not a developer tool or in PATH
make: error: unable to find utility "make", not a developer tool or in PATH
cp: src/.libs/libprotobuf-lite.a: No such file or directory
Platform is iPhoneOS
./build-proto-ios.sh: line 40: ./configure: No such file or directory
make: error: unable to find utility "make", not a developer tool or in PATH
make: error: unable to find utility "make", not a developer tool or in PATH
cp: src/.libs/libprotobuf-lite.a: No such file or directory
make: error: unable to find utility "make", not a developer tool or in PATH
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: ios-build/libprotobuf-lite-armv7.a (No such file or directory)

所以,我查找了以下信息:

  

无法找到实用程序" make",而不是开发人员工具或PATH

我发现this information用于安装Xcode命令行工具,因为我认为这可能是原因。但即使在为OS X Mavericks安装最新的命令行工具之后,我仍然会收到此错误。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

1)xcode-select -p-> /Applications/Xcode.app/Contents/Developer

2)sudo xcode-select --switch / Library / Developer / CommandLineTools

3)xcode-select -p-> / Library / Developer / CommandLineTools

4)评估“ $(rbenv init-)”

5)rbenv安装2.5.3

6)rbenv local 2.5.3

此外,请参见xcode已正确更新

答案 1 :(得分:1)

Make包含在Xcode中。您无需安装命令行工具即可使用它。它存在于Xcode应用程序中:

/Applications/Xcode.app/Contents/Developer/usr/bin/make

可以使用xcrun访问。

xcrun make

如果由于某种原因未设置活动的开发人员目录或者不正确,则仍可能失败。例如,如果您移动了Xcode,就会发生这种情况。

使用xcode-select

进行设置

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

检查您是否可以从命令行会话使用这些方法访问make。如果可以,原型缓冲区构建脚本可能就是问题。

答案 2 :(得分:1)

看起来这不是你的实际问题。当脚本运行时,它正在寻找iOS 6文件夹中包含的make ...这可能不存在。

查看https://gist.github.com/PR3x/0fde040902ed4e9a1a61以获取将为您构建作为胖库的protobuf的脚本。只需将其放在新文件夹chmod + x中,然后运行即可。 (基于https://stackoverflow.com/a/19582682/939927

需要注意的一点是,您需要更改所有生成的.pb.*文件,以使用::google_public:命名空间而不是::google:,因为Apple会在内部使用它。

另外需要注意的是,这仅适用于32位ARM和模拟器。 64位ARM(iPhone 5s)还没有构建。

祝你好运!