LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   qt git problem, QObject: no such file or directory. (https://www.linuxquestions.org/questions/programming-9/qt-git-problem-qobject-no-such-file-or-directory-821637/)

Krzysztow 07-23-2010 02:31 AM

qt git problem, QObject: no such file or directory.
 
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.

Krzysztow 07-23-2010 08:23 AM

Additional notes
 
When everything is fine (no changes have been done), I get g++ with following parameters
Code:

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:

Code:

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'
g++ -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DGROUPADDRESSMODEL_LIBRARY -DQT_DLL -DQT_NO_DEBUG -DQT_TESTLIB_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT someclass.cpp -o SomeClass

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.

ntubski 07-23-2010 01:24 PM

Quote:

Originally Posted by Krzysztow (Post 4042715)
In git (tortoise) I have a settings so that appropariate new lines are taken for each OS.

But maybe git only fixes the newlines after you check in the code, no? I don't remember if mingw tools want unix or DOS newlines; what editor are you using to change the file?

Krzysztow 07-24-2010 04:58 AM

Quote:

Originally Posted by ntubski (Post 4043326)
But maybe git only fixes the newlines after you check in the code, no? I don't remember if mingw tools want unix or DOS newlines; what editor are you using to change the file?

Thank You very much. 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.

Thank You very much. I really ate my teeth on it and bdaly needed a help.

Regards,
Krzysztof Wielgo.


All times are GMT -5. The time now is 06:57 PM.