标题:【求助】能帮忙编译windows Qt环境的protobuf和做例子?
作者:hyluda
日期:2017-04-14 22:26
内容:
尝试了很多办法,后来看到这个博客:
http://blog.csdn.net/wuyilun2013/article/details/41286867
算式编译出来.a的库,但是用到工程中就报很多undefined reference error.
求大侠帮忙:)很着急,非常感谢!
22:33:16: 正在启动 "C:\mingw32\bin\mingw32-make.exe"
c:\Qt\4.8.6-2\bin\qmake.exe -spec c:\Qt\4.8.6-2\mkspecs\win32-g++ -o Makefile ..\protobuf-component-demo\protobuf-component-demo.proC:/mingw32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'Z:/QtViz/git/demos/build-protobuf-component-demo-unknown-Debug'g++ -mthreads -Wl,-subsystem,windows -o debug\protobuf-component-demo.exe object_script.protobuf-component-demo.Debug-L"c:\Qt\4.8.6-2\lib" -lmingw32 -lqtmaind -LC:/Users/superadmin/Documents/build-qtproto-unknown-Release/release -lqtproto -lQtGuid4 -lQtCored4
./debug\message.pb.o: In function `ZN17Message_DataArray9MergeFromERKS_':Z:\QtViz\git\demos\build-protobuf-component-demo-unknown-Debug/../../qtdemo/message.pb.cc:672: undefined reference to `google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)'
Z:\QtViz\git\demos\build-protobuf-component-demo-unknown-Debug/../../qtdemo/message.pb.cc:676: undefined reference to `google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)'Z:\QtViz\git\demos\build-protobuf-component-demo-unknown- ..
#1 [morg 04-15 08:44]
在protobuf-2.3.0 + vs2015 环境下编译过
#2 [morg 04-15 08:46]
项目文件
#3 [sevencat 04-15 10:23]
也可以用msys2编译好的。
#4 [never_forget 04-15 20:17]
是. so 文件的引用有问题吗 ?感觉 undefine referance 的大多数情况是库文件的引用不正确呢!
#5 [hyluda 04-18 00:40]
不清楚问题呢。 我用mingw+ msys单独编译protobuf通过了,但是放在qt里面,发现mingw+msys的编译器和Qt4.8的编译器(mingw32)不一样。
于是引入protobuf的库,还是undefined reference的问题。
于是我尝试把qt的编译器改成mingw(加msys那个),虽然编译通过了,但qt程序一执行就崩溃。
可能是因为不是用来编译qt4.8.6的mingw的版本的原因?
还在苦苦找寻方案中。。。。
大侠能帮忙提点建议?