【问题标题】:Linking ACE in QTCreator on Windows在 Windows 上的 QTCreator 中链接 ACE
【发布时间】:2010-08-01 06:04:24
【问题描述】:

总的来说,我对 QT 和 Windows 开发都有些陌生(我在工作中使用 Linux 进行开发,很少进行 GUI 编程)。

无论如何,我下载了 ACE 并使用 Visual Studio Express 2008 构建它,并且能够在 VS 程序中使用它,但我无法让它与 QTCreator 很好地配合使用。

我在 QTCreator 中的 .pro 文件包括以下几行:

INCLUDEPATH += C:\Progra~1\ACE\ACE_wrappers
win32:LIBS += C:\Progra~1\ACE\ACE_wrappers\lib\ACE.lib

(文件 C:\Progra~1\ACE\ACE_wrappers\lib\ACE.lib 肯定存在)

当我尝试编译时,它发现标头很好,但链接器会出现一堆“未定义的引用”错误,如下所示:

debug/main.o:main.cpp:(.rdata$_ZTV18ACE_Reactor_Notify[vtable 对于 ACE_Reactor_Notify]+0x10): 未定义的引用 `ACE_Event_Handler::get_handle() 常量'

我的项目配置中是否缺少某些内容?还是我在构建 ACE 时做错了什么?

提前感谢您的任何建议。我确定这是一个简单的错误配置。

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    我没有使用带有 Qt 的 Visual Studio,而且我倾向于很少使用 QtCreator,但通常这些错误意味着 moc 已失败,您需要重新运行 qmake。奇怪的是 QtCreator 并没有为你做这件事。您是否能够编译任何其他 Qt 程序?

    既然您更熟悉 GNU 工具链,为什么不尝试使用 mingw? Instructions for ACE 相当简单,而且您不需要自己编译 Qt(这是一个巨大的优势)(好吧,从 Qt 4.6 开始,诺基亚正在为 VS 2008 提供预构建版本)。

    【讨论】:

    • 我没有使用 Visual Studio 编译 QT,我只使用它来构建 ACE。我已经能够创建其他(小型)QT 程序,但不能使用 ACE。我会尝试使用 MinGW,但我宁愿坚持使用 Visual Studio 进行 Windows 开发。
    • 愚蠢的问题,但是你有 .pro 文件吗?另见How to generate .sln/.vcproj using qmake
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多