0

我有简单的 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
4

1 回答 1

2

mythread.h这样做#include <QThread>了,当你自己的可执行文件被命名时QThread,它会找到你刚刚构建的可执行文件,而不是 Qt 自己的头文件。

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

于 2013-01-21T07:29:05.997 回答