gpt4 book ai didi

visual-studio - 将 moc_objectcontroller.cpp 添加到 Visual Studio 源代码树时出现 QtPropertyBrowser 编译器错误

转载 作者:行者123 更新时间:2023-12-04 05:50:15 24 4
gpt4 key购买 nike

我在我的项目中使用 QtPropertyBrowser,基于 ObjectController例子。我使用 Visual Studio 2010 作为 IDE 和 Qt 5.2.1 版(我可以重现 Qt 4.7 和 4.8 的错误)。

全部 moc_*.cpp文件被添加到源树 GeneratedFiles\$(Configuration) .不幸的是,这会导致以下编译器错误:

    2>  moc_objectcontroller.cpp
2> GeneratedFiles\Release\moc_objectcontroller.cpp(70): error C2027: use of undefined type 'ObjectControllerPrivate'
2> c:\***\guimain\generatedfiles\release\../../src/objectcontroller.h(45) : see declaration of 'ObjectControllerPrivate'
2> GeneratedFiles\Release\moc_objectcontroller.cpp(70): error C2227: left of '->slotValueChanged' must point to class/struct/union/generic type

当我删除 moc_objectcontroller.cpp从源树(实际上没有删除磁盘上的文件),项目构建并运行良好。所有其他 moc_*.cpp文件必须在源树中,否则项目将无法链接。

有人知道为什么编译器会产生错误吗?是否有您知道的解决方案/变通方法?

编辑:应要求提供相应的代码文件:
  • http://pastebin.com/2JQaa3Dr (moc_objectcontroller.cpp)
  • http://pastebin.com/5iBQX59u (objectcontroller.cpp)
  • http://pastebin.com/M2mm66R9 (objectcontroller.h)
  • 最佳答案

    它可能是你的

     ObjectControllerPrivate *d_ptr;


     QScopedPointer<QObjectData> d_ptr;

    继承自 QWidget/QObject d_ptr 成员变量。

    重命名并重试。

    关于visual-studio - 将 moc_objectcontroller.cpp 添加到 Visual Studio 源代码树时出现 QtPropertyBrowser 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21857231/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com