我对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绝对存在)
当我尝试编译时,它发现标题很好但链接器却出现了一堆“未定义的引用”错误,如下所示:
调试/ main.o:main.cpp中:( RDATA $ _ZTV18ACE_Reactor_Notify [虚表 对于ACE_Reactor_Notify] + 0x10): 未定义的引用 `ACE_Event_Hander定义:: get_handle() 常量“
我在项目配置中遗漏了什么?或者,当我构建ACE时,我做错了什么?
提前感谢任何建议。我确定这是一个简单的错误配置。
答案 0 :(得分:0)
我没有将Visual Studio与Qt一起使用,我倾向于很少使用QtCreator,但通常这些错误意味着moc失败了,你需要重新运行qmake。奇怪的是,QtCreator并没有为你做这件事。你有没有能够编译任何其他Qt程序?
由于您对GNU工具链更熟悉,为什么不尝试使用mingw? Instructions for ACE非常简单,并且您不需要自己编译Qt(这是一个巨大的优势)(好吧,从Qt 4.6开始,诺基亚为VS 2008提供了预构建的版本)。