我正在尝试关注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安装最新的命令行工具之后,我仍然会收到此错误。
有什么想法吗?
答案 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)还没有构建。
祝你好运!