|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
+ \' J7 \. ^- j- z* Y7 ^/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
% I5 _& X8 }0 W: N1 {- ^" R- m9 n5 |- T) U; s6 k
这个头文件内容如下:4 l& }: U" o6 V8 @
#ifndef QTCONCURRENT_RUNBASE_H
* Y1 w8 N) S- A: l8 ]; u#define QTCONCURRENT_RUNBASE_H$ m1 }8 J: I d7 S& d1 t6 d
. R+ {: d( W% X9 Q7 n, Y1 N, s
#include <QtCore/qglobal.h>! v) U5 f. Q' [. Y# d
8 m! W. J1 I8 D$ z; I( S8 o#ifndef QT_NO_CONCURRENT+ _7 b, o0 i+ `& U
: q/ v0 l8 [3 P( h, U# B; O
#include <QtCore/qfuture.h>. B2 R3 X. P9 X! \( \4 `; k# W
#include <QtCore/qrunnable.h>5 O+ A6 h9 }6 L8 x7 D. M4 u" g
#include <QtCore/qthreadpool.h>2 u4 m5 d3 v- Y& W) h* Y8 t8 ^
4 F* j" z$ F/ v: v* |6 F( d" a/ PQT_BEGIN_HEADER# ?+ ]1 I" X7 e7 M
QT_BEGIN_NAMESPACE
" f8 a5 Q, y7 A8 q' k6 V8 P s. N c7 C9 s
QT_MODULE(Core)
, S4 n$ B* j, ?, n
/ m! t/ H8 F4 E; f* Z#ifndef qdoc
9 {$ c+ r% w0 d- D( m' u
+ B; L R) T, g) \: ]9 K0 `namespace QtConcurrent {
$ I9 X, f8 a8 b( V
$ a V+ e. ?8 B% Rtemplate <typename T>
8 `1 g, M7 Z0 R t3 R# tstruct SelectSpecialization
/ S2 [# t' X5 |' Q6 h" o{5 A3 l# y1 m v7 O3 J6 B- g' S
template <class Normal, class Void># P) |7 c2 n& i- l- L+ V
struct Type { typedef Normal type; };
2 Y O' B( Q: P7 p" t9 E};5 S. O- g8 B& {3 s' ]% N
/ X, G" @! b$ u# M2 ^9 rtemplate <>
) I2 X$ J! A: a2 h1 sstruct SelectSpecialization<void>1 j/ z9 t+ e3 d# J& p$ Z0 ~5 A( @% h
{
& b' F/ I1 K0 \7 d template <class Normal, class Void>
~: H! A9 D% J2 Z4 ?3 e; c struct Type { typedef Void type; };
# D* T& E, g* h7 U};
' T4 M! t/ w+ K& ]; @8 ^6 _9 K9 L) ?
template <typename T>) \1 F0 {2 H8 @) S$ o
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
, W) }$ T4 P% V' w8 Q: Z' j3 d5 q, V: Z{* ~4 g$ c* R2 w
public:, ]. m% ]; F) y1 m. ]; S
QFuture<T> start()0 \: Y4 r0 L/ k' e3 ]9 l0 L9 T- \+ F
{
! p2 H3 z; _) |% I3 ]6 k this->setRunnable(this);
9 i1 C6 X: u* k4 Z8 M7 { this->reportStarted();$ y4 e) i- G( J
QFuture<T> future = this->future();* V0 s7 V* \& ~! g8 D
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
- |# H# r4 _% x" q0 H. X0 m return future;
8 j: l4 P; O# U }
7 j2 z; O# u) L; Y. Q- N W
9 _+ ?# [4 G* G9 q i void run() {}) i, o; U# P2 h% g
virtual void runFunctor() = 0;, d Q. B" P F; l a
};8 `) o ~ ^2 f1 ~
7 u; {9 ]; F9 e" T+ n9 ?8 x
template <typename T>
7 |$ U6 ^4 r* x4 Hclass RunFunctionTask : public RunFunctionTaskBase<T>4 Q0 S- k' b- l& T
{8 {2 W8 r6 h: M3 j& w' `
public:
: [: Y1 f# C1 p) G2 C void run(); h" o6 Q D" i) Y
{0 {2 G$ [* L9 J5 @7 B. R
if (this->isCanceled()) {: J* ~* Z! b' o N
this->reportFinished();
$ i% Q8 |( N$ m* o5 ~ return;6 N+ C. s9 |8 p7 H4 v, i( ^
}2 {% s/ Z* }! G: x5 ~) d6 K
this->runFunctor();
M4 L0 ]) K6 W# l this->reportResult(result);
. X) w' R+ [# m this->reportFinished();
: V4 B2 g$ H* x! R( k v* } }: B g4 ?$ q* H5 |
T result;
; K5 _3 a9 i @( [};
# S q- P: k! |, u; F7 T% D: M/ ~8 h0 A7 j9 r3 p* x
template <>. {2 {" W6 d" f4 u9 [3 d
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
1 C* \+ x, q8 t$ c- t{
8 l6 S. e7 _; ?. mpublic:
6 N3 l% ]; `3 J) z# Q. x void run()
4 a ?! V" o( m7 l L- u- ~ {
# g! a+ ?( R+ L6 Q; i9 G if (this->isCanceled()) {3 D9 B. A5 V) X3 O2 ^# d* n
this->reportFinished();3 P; E: Q& q1 d
return;
( @( |" f) O& l3 P: y1 n1 b }
5 M2 l2 |" p7 k' L- m* [, ` this->runFunctor();
$ A1 R5 Q' ^& W5 l this->reportFinished();
( G# C. _& I4 X' q }- W. H# ~* |% Y3 O2 L
};
+ @7 j- F2 |* V. _2 }
2 ^$ T3 q; A; i+ P9 g} //namespace QtConcurrent
$ O( g Q* x) z% X8 ]
: X1 _& t+ t" |/ s#endif //qdoc
; ^! g v0 [! h+ ~2 Q! C
- |9 w/ {. Z5 FQT_END_NAMESPACE
% j* f' H6 }) @" V: a1 Y" w9 w( A5 mQT_END_HEADER0 N3 d6 Q7 T+ m$ `
) t3 m {( G4 L7 t9 D# h! A# t
#endif // QT_NO_CONCURRENT
% b' \& C9 V2 c& g* H
" s) u* Y& E" j8 j#endif M. o% q; u0 Q v1 t9 Z
3 R- ~5 X) }5 Z6 N$ N4 f
|
|