0

我正在为使用 Qt 的 Maya 2013 构建一个插件。我已经用 gcc-4.8 和 Qt v4.7.1 编译并构建了它,当我将插件加载到 Maya 中时,Maya 崩溃并出现以下错误:

objc[24831]: Class QCocoaColorPanelDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QMacSoundDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaPanel is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaView is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaWindow is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaWindowDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaMenuLoader is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSApplication is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaApplicationDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaWindowCustomThemeFrame is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaToolBarDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaMenu is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSOpenSavePanelDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaFontPanelDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSWindowProxy is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSPanelProxy is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaPageLayoutDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QCocoaPrintPanelDelegate is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSMenu is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSStatusItem is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
objc[24831]: Class QNSImageView is implemented in both /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.

经过大量谷歌搜索后,我意识到问题是由于我的路径中有 Qt 而我首先加载了导致 Windows Qt 模块和 Maya Qt 模块都被加载的问题,我应该尝试确保 Maya 的路径是第一个,所以它选择了正确的 Qt。

有没有办法解决这个问题?

4

1 回答 1

1

我从插件调试开始。我从删除 CMake 脚本中的 QT_LIBRARIES 链接开始,并将它们替换为位于 Maya 中的链接(它们位于 /Applications/Autodesk/maya2013/Maya.app/Contents/MacOS/)。这解决了问题。

更新:这是特定于 Mac OS 的。请记住在其他操作系统中也检查相同的内容。

于 2013-07-12T17:57:59.813 回答