Ashot
Ashot

Reputation: 10979

Qt: executable does not regenerated

I have simple Qt program. When running make it gives error which is 1200 lines long

make: Circular main.o <- QThread dependency dropped.
In file included from mythread.h:4,
                 from main.cpp:3:
./QThread:1: error: stray '\127' in program
./QThread:1: error: stray '\2' in program
./QThread:1: error: stray '\1' in program
./QThread:1: error: stray '\1' in program
In file included from mythread.h:4,
                 from main.cpp:3:
./QThread:1:8: warning: null character(s) ignored
./QThread:1: error: stray '\2' in program
./QThread:1:18: warning: null character(s) ignored
./QThread:1: error: expected constructor, destructor, or type conversion before '>' token
./QThread:1:20: warning: null character(s) ignored
./QThread:1: error: stray '\1' in program
./QThread:1:22: warning: null character(s) ignored
./QThread:1: error: stray '\240' in program
./QThread:1: error: stray '\21' in program
./QThread:1:28: warning: null character(s) ignored
./QThread:1: error: stray '@' in program
./QThread:1:34: warning: null character(s) ignored
./QThread:1: error: stray '@' in program
./QThread:1: error: stray '\24' in program
./QThread:1:43: warning: null character(s) ignored
./QThread:1:54: warning: null character(s) ignored
./QThread:1: error: stray '@' in program
./QThread:1:56: warning: null character(s) ignored
./QThread:1: error: stray '\8' in program
./QThread:1:58: warning: null character(s) ignored
./QThread:1:60: warning: null character(s) ignored

...

./QThread:16: error: stray '\255' in program
./QThread:16: error: stray '\255' in program
./QThread:16: error: stray '\235' in program
./QThread:16: error: stray '\156' in program
./QThread:16: error: stray '\137' in program
./QThread:16: error: stray '\195' in program
./QThread:16: error: stray '\199' in program
./QThread:16: error: stray '\144' in program
./QThread:16:252: warning: null character(s) ignored
./QThread:16: error: stray '@' in program
./QThread:16: error: stray '\139' in program
./QThread:16: error: stray '\16' in program
./QThread:16: error: stray '\240' in program
./QThread:16: error: stray '\255' in program
./QThread:16: error: stray '\8' in program
./QThread:16: error: stray '\15' in program
./QThread:16: error: stray '\149' in program
./QThread:16: error: stray '\194' in program
./QThread:16: error: stray '\132' in program
./QThread:16: error: stray '\210' in program
./QThread:16: error: stray '\139' in program
./QThread:16: error: expected declaration before '}' token
In file included from main.cpp:3:
mythread.h:1:1: unterminated #ifndef
make: *** [main.o] Error 1

QThread is the executable. When I delete it and run make again, it compiles ok. But when I do some changes make gives me the same error. I am creating Makefile using qmake, why the executable does not regenerated?

QThread.pro
######################################################################
# Automatically generated by qmake (2.01a) Mon Jan 21 10:22:12 2013
######################################################################

TEMPLATE = app
TARGET = 

# Input
HEADERS += mythread.h
SOURCES += main.cpp mythread.cpp

Upvotes: 0

Views: 303

Answers (1)

user743382
user743382

Reputation:

Your mythread.h does #include <QThread>, and when your own executable is named QThread, this finds the executable you've just built instead of Qt's own header.

You've renamed the program in response to Jeremy's comment and you've seen that it then works. That's one good option. Another is to make sure you include <QThread> instead of "QThread" (if you aren't doing so already) and make sure your compiler flags are set such that the current directory is not searched before Qt's header directory.

Upvotes: 2

Related Questions