Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-28383

Dumpcpp utility generates incorrect header

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.0.0 Beta 2
    • ActiveX Support
    • None
    • Windows 7, MSVC 2010, Qt5 Beta 2 (downloaded 02.12.12 from git)

    Description

      I try to compile project using Inventor namespace, genered by dumpcpp. Namespace's files genereated successfully with https://codereview.qt-project.org/#change,41684 and https://codereview.qt-project.org/#change,41685 fixes. But while processing the header file, there are several errors. The first type errors like this:
      .\RxInventor.h(191599) : error C2061: syntax error : identifier 'Face'
      .\RxInventor.h(191859) : error C2061: syntax error : identifier 'Face'
      .\RxInventor.h(201158) : error C2061: syntax error : identifier 'Face'
      .\RxInventor.h(201438) : error C2061: syntax error : identifier 'Face'
      dumpcpp try to use Inventor's type without use namespace defenition (correct is: inline void GetData(IDispatch** Line, Inventor::Face** Face); ). It can be fix manually, but it takes time.

      The second type errors like this:
      .\RxInventor.h(236655) : error C2061: syntax error : identifier 'BrowserPanesEventsObject'
      .\RxInventor.h(236666) : warning C4520: 'Inventor::BrowserPanesEvents' : multiple default constructors specified
      .\RxInventor.h(236658) : error C2065: 'iface' : undeclared identifier
      .\RxInventor.h(236659) : error C2065: 'iface' : undeclared identifier
      .\RxInventor.h(236659) : error C2541: 'delete' : cannot delete objects that are not pointers
      .\RxInventor.h(488682) : error C2668: 'Inventor::BrowserPanesEvents::BrowserPanesEvents' : ambiguous call to overloaded function
      .\RxInventor.h(236655): could be 'Inventor::BrowserPanesEvents::BrowserPanesEvents(void)'
      .\RxInventor.h(236649): or 'Inventor::BrowserPanesEvents::BrowserPanesEvents(IDispatch *,QAxObject *)'
      while trying to match the argument list '(void)'
      .\RxInventor.h(488693) : error C2668: 'Inventor::BrowserPanesEvents::BrowserPanesEvents' : ambiguous call to overloaded function
      .\RxInventor.h(236655): could be 'Inventor::BrowserPanesEvents::BrowserPanesEvents(void)'
      .\RxInventor.h(236649): or 'Inventor::BrowserPanesEvents::BrowserPanesEvents(IDispatch *,QAxObject *)'
      while trying to match the argument list '(void)'

      dumpcpp skip defenition of object:
      // skipping event interface BrowserPanesEventsObject
      but trying to use it in the class constructor:
      BrowserPanesEvents(BrowserPanesEventsObject *iface)
      : QAxObject()

      { initializeFrom(iface); delete iface; }

      And project cannot compile with this errors

      Attachments

        1. inventorDemo.zip
          774 kB
        2. main.cpp
          65 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kleint Friedemann Kleint
            fagot Bolotsev Dmitry
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes