【问题标题】:Installing Protobuf Development Libraries in MinGW在 MinGW 中安装 Protobuf 开发库
【发布时间】:2015-07-26 07:51:14
【问题描述】:

我从 github 上的源代码在 MinGW 中安装了 Protobuf。

当我尝试编译我的 C++ 程序时出现错误:

CMakeFiles/nxcore_interface.dir/main.cpp.o:main.cpp:(.rdata$.refptr._ZN6google8protobuf8internal13empty_string_E[.refptr._ZN6google8protobuf8internal13empty_string_E]+0x0): undefined reference to `google::protobuf::internal::empty_string_'
collect2: error: ld returned 1 exit status

我发现一些东西表明开发库不存在:

Program with protocol-buffers don't compile with MinGW-w64: "undefined reference to google::protobuf:: ..."

我已经包含了-lprotobuf 编译器标志。

经过一番搜索,我确定我需要使用libprotobuf-dev,但我找不到它。

有谁知道从哪里得到它,还是有其他问题?

【问题讨论】:

    标签: c++ mingw protocol-buffers


    【解决方案1】:

    您应该使用 pkg-config 编译您的应用程序。

    g++ my_program.cpp `pkg-config --cflags --libs protobuf`
    

    如果您没有 pkg​​-config,您应该找到库路径并使用 -L 选项设置它们。例如:

    g++ my_program.cpp -L/usr/local/protobuf/lib -lprotobuf
    

    【讨论】:

    • 我的库在 /usr/local/lib 我尝试使用 -L/usr/local/lib 但同样的错误。
    • 如果您知道如何在 CMake 中执行此操作,也会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    相关资源
    最近更新 更多