【问题标题】:wxWidgets lots of undefined referenceswxWidgets 大量未定义的引用
【发布时间】:2012-09-12 17:18:59
【问题描述】:

我将源下载到最新的 wx 并成功编译,没有任何问题。

配置为:

../configure --enable-optimise --enable-stl --enable-unicode --enable-threads --enable-static --disable-shared --prefix=/usr/local

当我尝试编译 this 示例时:

g++-4.8 `wx-config --libs` `wx-config --cxxflags` test.cpp 

我得到了很多未定义的引用(完整列表 here

我怎样才能做到这一点?

【问题讨论】:

  • 你能测试一下吗?:g++ wx-config --cppflagswx-config --libstest.cpp
  • 同样的错误(我添加了需要的`,没有它就不行)
  • 如果你在 linux 中,你的链接器有问题,确保你之前安装了 wx 库,用 wx --version 测试它。回想一下,您必须将库添加到 LD_LIBRARY 以配置动态链接器。
  • 我按照那个教程,同样的错误

标签: c++ wxwidgets


【解决方案1】:

当你使用静态库时(因为在配置命令行中使用--disable-shared),库必须引用它们的目标文件之后出现(这是所有 Unix 的一般规则-ish 链接器,绝对是 GNU ld)。所以正确的命令行应该是

g++-4.8 `wx-config --cxxflags` test.cpp `wx-config --libs`

或者,只是为了保持简短,因为它确实重要的是编译标志出现在哪里:

g++-4.8 test.cpp `wx-config --cxxflags --libs`

【讨论】:

    【解决方案2】:

    您需要指定 wx 库,以便链接器可以解析引用。

    【讨论】:

    • wx-config --libs wx-config --cxxflags 这样做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多