• 10181阅读
  • 4回复

ACE和Qt集成的问题 [复制链接]

上一主题 下一主题
离线youth
 
只看楼主 倒序阅读 楼主  发表于: 2009-04-08
— 本帖被 XChinux 执行加亮操作(2009-04-18) —
之前的程序是用VC8开发的,网络部分使用了ACE,现在想迁移到Qt上,但网络部分仍想使用原来的ACE。

Qt已用自带的mingw编译,Qt版本为2009.01。
准备用同一个mingw来编译ACE,后者版本为5.6.1,ACE_wrappers\include\makeinclude\platform_macros.GNU内容如下:

  1. qt=1
  2. include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU


然后在make的时候出了问题(ACE_ROOT和QTDIR都已经export),最后一段有问题的输出如下:

  1. GNUmakefile: /d/ACE_wrappers/ace/GNUmakefile.ACE_QtReactor
  2. rm -f .shobj//libACE_QtReactor.dll.def.old .shobj//libACE_QtReactor.dll.def; dlltool --export-all --output-def .shobj//libACE_QtReactor.dll.def --dllname libACE_QtReactor.dll .shobj/QtReactor/QtReactor_moc.o .shobj/QtReactor/QtReactor.o && mv .shobj//libACE_QtReactor.dll.def .shobj//libACE_QtReactor.dll.def.old && sed 's/;.*$//g' < .shobj//libACE_QtReactor.dll.def.old > .shobj//libACE_QtReactor.dll.def &&  g++ -mtune=pentiumpro   -I/d/ACE_wrappers -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I.. -I/d/Qt/2009.01/qt/include -DQT_THREAD_SUPPORT -DACE_QTREACTOR_BUILD_DLL  -Wl,--enable-auto-image-base -Wl,--out-implib,libACE_QtReactor.dll.a -shared -o libACE_QtReactor.dll -Wl,--enable-auto-import -Wl,-E -L/d/ACE_wrappers/ace -L./ -L../lib -L. -L../lib -L/d/Qt/2009.01/qt/lib  -Wl,.shobj//libACE_QtReactor.dll.def .shobj/QtReactor/QtReactor_moc.o .shobj/QtReactor/QtReactor.o -lACE -lqt -lws2_32 -lmswsock -lwsock32 -lnetapi32
  3. d:\qt\2009.01\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lqt
  4. collect2: ld returned 1 exit status
  5. make[1]: *** [libACE_QtReactor.dll] Error 1
  6. make[1]: Leaving directory `/d/ACE_wrappers/ace'
  7. make: *** [ACE_QtReactor] Error 2


另外,本来是提示的cannot find -lqt-mt,后来看到说新版本qt不再使用-mt这种形式,就修改了ACE_wrappers\ace\GNUmakefile.ACE_QtReactor中的下面一行:
ACE_SHLIBS = -lACE -lqt-mt$(QT_VERSION)
将-mt给删除掉了,然后再make时错误信息就变成上面帖出来的那些了,问题依旧。

Qt新手,大家帮忙看看问题到底是在哪里?
离线ziding

只看该作者 1楼 发表于: 2009-04-17
我很久之前弄过,大概好像是:libACE_QtReactor需要单独编译.看你的日志信息,好像是libACE_QtReactor没有编译成功
刚开始学习QT,希望各位高手不吝赐教,谢谢~
离线XChinux

只看该作者 2楼 发表于: 2009-04-18
既然以前用的是VC8,那继续用VC8(VC2005)呗。好编译些还。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线youth
只看该作者 3楼 发表于: 2009-04-21
嗯,迁移到qt是希望程序支持更多的运行平台,同时也希望开发工具能统一起来,所以准备使用eclipse+mingw之类的
离线programmerhu
只看该作者 4楼 发表于: 2009-07-06
请问这个问题解决了没? 是怎么解决的, 谢谢!
豌豆框架 Wonderful Framework
http://www.wonderfulproject.cn

GreyFrame: 简单,易用,好用的Javascript遮罩弹出框架.
http://programmer.huang-home.net/GreyFrame/
快速回复
限100 字节
 
上一个 下一个