Qt:可执行文件不会重新生成

时间:2013-01-21 06:45:38

标签: c++ qt executable

我有简单的Qt程序。运行make时会出现1200行的错误

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是可执行文件。当我删除它并再次运行make时,它编译好了。但是当我做一些更改时make给了我同样的错误。我正在使用Makefile创建qmake,为什么可执行文件不会重新生成?

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

1 个答案:

答案 0 :(得分:2)

您的mythread.h执行#include <QThread>,当您自己的可执行文件名为QThread时,会找到您刚刚构建的可执行文件而不是Qt自己的标头。

你已经根据Jeremy的评论重新命名了这个程序,你已经看到它可以运行了。这是一个不错的选择。另一个是确保包含<QThread>而不是"QThread"(如果您还没有这样做)并确保设置了编译器标志,以便在Qt的头目录之前不搜索当前目录。