Find the answer to your Linux question:
Results 1 to 3 of 3
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    qt git problem, QObject: No such file or direcotry

    Hi all,

    Sorry if someone thinks, this topic should be somewhere else. However, this is a linux application. Nevertheless issue concerns both linux and windows.

    I have a strange problem on my computer. I am using qt 4.7 on linux (ubuntu lucid) and windows (XP, 7). I wrote some project, that works fine in Linux and commited it on a remote server. Then I switched to Windows and dowloaded the repository. All works fine (compilation and execution), unless I change anything in any file. I mean, when I change (add or remove some space, character, comment a line, whatever) a file, and try to compile for the second time, I get an error:
    "error: QObject: No such file or directory "
    In git (tortoise) I have a settings so that appropariate new lines are taken for each OS.

    Has anyone of You had similar issues, or someone has idea how to fix it. I need it really badly. It could be due to encoding, however qtcreator has possibility to choose between text-encoding styles, however after playing around , I managed to get nothing.

    Will appreciate any help,
    Kryzsytof Wielgo

    Thank You for any help,
    all the best.

  2. #2
    When everything is fine (no changes have been done), I get g++ with following parameters

    mingw32-make[1]: Entering directory `C:/repo/SomeClass'
    C:/Qt/2010.02.1/mingw/bin/mingw32-make -f Makefile.Release
    mingw32-make[2]: Entering directory `C:/repo/SomeClass'
    c:\Qt\2010.02.1\qt\bin\uic.exe someclass.ui -o ui_someclass.h
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DUTILS_LIBRARY -DQT_DLL -DQT_NO_DEBUG -DQT_TESTLIB_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtNetwork" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt\2010.02.1\qt\include\QtXml" -I"c:\Qt\2010.02.1\qt\include\QtTest" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"release" -I"." -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o release\someclass.o someclass.cpp
    In case there has been a change, I get:

    mingw32-make[1]: Entering directory `C:/repo/SomeClass'
    C:/Qt/2010.02.1/mingw/bin/mingw32-make -f Makefile.Release
    mingw32-make[2]: Entering directory `C:/repo/Project'
    So there is no include path specified for g++ arguments, although in Makefile.Release it is. There is include path, as well as some ui forms parameters.

    Anyone knows why compiler omits these information, please?

    Thank You.

  3. #3
    I think I got the solution and it was elswhere. The problem is to include some *.h files (e.g. file.h) we use #include <File>, where file File has #include "<path>/file.h" directive. On Unix this is not an issue, however on windows it is when the file File has the same name as on of the classes being compiled. It gets an error, as stated before when someone changes a file having File class. Then, when I do anything to File file (insert/remove) new line, compilation goes well.

    But this is cumbersome, I would have to insert nl everytime changes to File class are done. So the easiest way is to change #include <File> into #include <MyFile> and a file accordingly.

    Hopefully, this will be useful for someone else, as well. I really ate my teeth on it and badaly needed solution.

    Krzysztof Wielgo.

  4. $spacer_open

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts