Linking problem: CreateMainWindow

  • Nobody/Anonymous


    I compiled IVT, configured it for use with QT4 and got the SimpleApp running. But if a GUI is involved (e.g. HoughCirclesDemo or FilterDemo), I get the error::

    undefined reference to `CreateApplicationHandler(int, char**)'
    undefined reference to `CreateMainWindow(int, int, int, int, char const*)'

    I have libqt4-dev and qt4-dev-tools installed. The object file is compiled, but not linked to a executable progam.

    Does someone have a hint?

    The complete message is:

    g++ -O3 main.o    -L../../lib/linux -lQtGui -lQtCore   -livt  -o filterdemo
    main.o: In function `CFilterDemo::Run()':
    main.cpp:(.text._ZN11CFilterDemo3RunEv[CFilterDemo::Run()]+0x15a): undefined reference to `CreateApplicationHandler(int, char**)'
    main.cpp:(.text._ZN11CFilterDemo3RunEv[CFilterDemo::Run()]+0x17d): undefined reference to `CreateMainWindow(int, int, int, int, char const*)'
    collect2: ld returned 1 exit status

    In the Makefile.base I set QT4 = 1 and QT_GUI=1, the others to 0 like written in the comments.

    Best regards,

  • Nobody/Anonymous

    Hm, strange, I think I see the problem: The files in gui/ are not compiled. Are they missing in the Makefile or did I miss an important point? Enabling the GUI is only done by setting these two flags (USE_QTGUI and USE_QT4), isn't it?

  • Pedram Azad

    Pedram Azad - 2010-04-26


    sorry, there was a typo in Makefile.base for the handling of the USE_QT4 flag. I fixed the problem and uploaded a new version 1.3.8-1, which also includes a fix for a bug that occurred when calling any of the Hough transform methods (see release notes).


  • Nobody/Anonymous

    Hey Pedram,

    thank you for the faste reply. I found another problem: "printf" in gui/Qt/QtMainWindow.cpp is not declared, an #include <stdio.h> helped for me. Now it seems to work, thank you!



Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks