c++ - Google Protocol Buffers 2.6 iOS - Can't get it working -
i struggling mightily here, trying build simple "hello world" 64 bit ios application new version 2.6 protocol buffers. i'm quite frustrated, because have been using metasyntactic's native objective-c code couple of years no problems , found encouraged nice workflow. apple demanding 64 bit applications, find project hasn't been updated , when try compile 64 bit, there tons of errors due use of nsinteger.
so i've been trying use latest 2.6 version of protocol buffers, supports c++, , adapt code hit updated apis. furthest i've been able using gist tutorial bennett smith on github i'm stuck , need assistance. tutorial enough build fundamentals getting xcode compile i'm having problems.
the steps have been following in tutorial. i'm doing them again write sure i'm capturing everything:
- get script, build, observe bin, include , lib folders correctly created [pass]
- create new xcode ios master-detail application in xcode 6.1
- move protobuf-2.6.0 folder generated in step 1 xcode project folder
- add custom build rule:
process *source files names matching:* `*.proto` using *custom script:* cd ${input_file_dir} ${srcroot}/protobuf-2.6.0/bin/protoc --proto_path=${input_file_dir} ${input_file_path} --cpp_out=${derived_file_dir} output files $(derived_file_dir)/$(input_file_base).pb.cc $(derived_file_dir)/$(input_file_base).pb.h
- drag "lib" folder project. adds 3 libraries "link binary libraries" section of "build phases" in project.
- add "$(srcroot)/protobuf-2.6.0/include" "header search paths" under "build settings"
create simple test protocol, "test.proto":
message version { required uint32 major = 1; required uint32 minor = 2; required uint32 buildnum = 3; }
add code appdelegate.h:
#include "test.pb.h"
and that's breaks. "protoc" generation works - can see resulting files test.pb.cc , test.pb.h in derivedsources folder. build error can't make sense of - since think basic c++ include statement:
#include <string>
... throws error "'string' file not found".
how resolve this?
thanks!
Comments
Post a Comment