Google 在 Windows 中使用 MinGW 的协议缓冲区
Google protocol buffers using MinGW in Windows
我正尝试在 Windows 上使用 Qt 中的 google 协议缓冲区。因此,我使用 MingGW 的 msys 从 github 编译了 protobuf 源代码。 proto-compiler (protoc) 似乎工作正常,但不幸的是,它无法使用 Qt 环境中生成的 .ph.h 和 .pb.cc 文件。
将此添加到我的 .pro 文件中:
LIBS += "C:/MinGW/msys/1.0/bin/libprotobuf-10.dll"
INCLUDEPATH += "C:/MinGW/msys/1.0/include/"
但是当我尝试编译它时,我仍然得到 "undefined reference to ..." class 所有使用的方法。
代码必须正确,因为它在使用 protoc 和 Qt 的 linux 机器上运行得很好。它必须是我包含 .dll 的方式,或者我包含一个错误的,因为 headers 似乎可以很好地解决。
根据这个post选择要包含的dll:
http://www.ptrackapp.com/apclassys-notes/building-google-protocol/
我在这里有点迷路,希望能得到任何帮助。
提前致谢。
终于弄明白了,通过使用以下配置前缀:
./configure --prefix=`cd /mingw; pwd -W`
找到解决方案here!
我正尝试在 Windows 上使用 Qt 中的 google 协议缓冲区。因此,我使用 MingGW 的 msys 从 github 编译了 protobuf 源代码。 proto-compiler (protoc) 似乎工作正常,但不幸的是,它无法使用 Qt 环境中生成的 .ph.h 和 .pb.cc 文件。
将此添加到我的 .pro 文件中:
LIBS += "C:/MinGW/msys/1.0/bin/libprotobuf-10.dll"
INCLUDEPATH += "C:/MinGW/msys/1.0/include/"
但是当我尝试编译它时,我仍然得到 "undefined reference to ..." class 所有使用的方法。
代码必须正确,因为它在使用 protoc 和 Qt 的 linux 机器上运行得很好。它必须是我包含 .dll 的方式,或者我包含一个错误的,因为 headers 似乎可以很好地解决。 根据这个post选择要包含的dll: http://www.ptrackapp.com/apclassys-notes/building-google-protocol/
我在这里有点迷路,希望能得到任何帮助。
提前致谢。
终于弄明白了,通过使用以下配置前缀:
./configure --prefix=`cd /mingw; pwd -W`
找到解决方案here!