• 5178阅读
  • 2回复

[讨论]使用xcode编译QT工程的问题 [复制链接]

上一主题 下一主题
离线kaokaokof
 
只看楼主 倒序阅读 楼主  发表于: 2012-03-13
不知道大家有没有用过xcode,根据网上资料,使用qmake -spec macx-xcode xxx.pro
可以生成对应的xcode使用的工程文件xxx.xcodeproj
编译ok,运行也ok,会生成moc文件


但是用xcode建立cocoa的application,里面创建一个继承QWidget的子类时,new的时候会报
[font=Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif][backcolor=transparent]Undefined[backcolor=transparent] symbols [backcolor=transparent]for[backcolor=transparent] [backcolor=transparent]:[backcolor=transparent]
  
[backcolor=transparent]"vtable for MyWidget"[backcolor=transparent],[backcolor=transparent] referenced from[backcolor=transparent]:[backcolor=transparent]
      
[backcolor=transparent]MyWidget[backcolor=transparent]::[backcolor=transparent]MyWidget[backcolor=transparent]()[backcolor=transparent]in mywidget[backcolor=transparent].[backcolor=transparent]o查了一下是Q_OBJECT宏的问题,但是我是要继承QWidget从而处理slot和signal的。关键是这样编译出来,没有生成moc文件!!请问不知道是不是要设置一下使用moc.exe编译?
离线kaokaokof
只看该作者 1楼 发表于: 2012-03-13
不知道大家有没有用过xcode,根据网上资料,使用qmake -spec macx-xcode xxx.pro
可以生成对应的xcode使用的工程文件xxx.xcodeproj
编译ok,运行也ok,会生成moc文件

但是用xcode建立cocoa的application,里面创建一个继承QWidget的子类时,new的时候会报
Undefined symbols for :
  "vtable for MyWidget", referenced from:
      MyWidget::MyWidget()in mywidget.o
查了一下是Q_OBJECT宏的问题,但是我是要继承QWidget从而处理slot和signal的。关键是这样编译出来,没有生成moc文件!!请问不知道是不是要设置一下使用moc.exe编译?
离线kaokaokof
只看该作者 2楼 发表于: 2012-03-14
解决了,先用qtcreator编译生成moc文件,然后拉到xcode工程里,就能编译通过了~~~不过这样很麻烦,一加接口就要这么导一次。
快速回复
限100 字节
 
上一个 下一个