|
我对syslink进行交叉编译到arm,但是出现如下错误:; Q2 f/ u* b$ y) Y1 q
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
" u0 ?0 w. `9 W+ J# B' \8 d/ T( m& |( ~$ \$ ^. X2 V8 C
这个头文件内容如下:& n P6 b* k* b N1 K) v. h3 B
#ifndef QTCONCURRENT_RUNBASE_H- C: v: E2 I2 f7 f# C8 V% j4 I q, ~
#define QTCONCURRENT_RUNBASE_H4 U5 R& c* j, ]" x/ |2 e
! ~$ D {% ?6 d2 ~7 t
#include <QtCore/qglobal.h>
8 U' Q6 @- [4 X3 f3 }' O' L' r; z8 i4 I2 P3 C, `, Q, |2 M
#ifndef QT_NO_CONCURRENT
* F0 C0 R3 X6 X$ ~3 {& j" S1 L
6 l- M' a' }5 Z0 P# P2 A#include <QtCore/qfuture.h>
) u, e5 b8 M1 \2 |4 c% X& R% ?#include <QtCore/qrunnable.h>' T5 h1 H0 d/ F% n( C; ~9 x
#include <QtCore/qthreadpool.h>
2 ^7 ?- c" ]4 q4 S3 {, w! S% j* [% E O6 G ]
QT_BEGIN_HEADER
1 `- J6 k- s$ w' h3 d6 _3 N; B5 P" }; QQT_BEGIN_NAMESPACE2 D# S; {. V3 j9 x$ F+ N( Q
5 p1 g* i/ d1 S0 M
QT_MODULE(Core) I% X9 Y ]6 O9 N8 J# t2 p: H
! z/ W% F, t2 I1 C$ v: [) J6 B
#ifndef qdoc
) {# ?1 C$ |- B$ D2 }5 }
1 u" p3 m) s" q* enamespace QtConcurrent {6 \+ t" K# v9 t9 k
" p5 Q8 L/ F3 @! {! S) z/ itemplate <typename T># }! ?+ q' t( u8 L6 @# n2 K0 k
struct SelectSpecialization9 k& z- \3 I2 x7 h7 D' v0 X3 R
{1 Q) ~, {. M5 K
template <class Normal, class Void>
\" n7 W" z! S; B. m( } struct Type { typedef Normal type; };
C8 d2 p: e1 H' y- f3 i( R5 V};
/ K( _4 p8 v3 p( }+ i6 m/ y h. _/ @; q0 I$ P
template <>0 ~) W; i# v& k7 C R$ p. K
struct SelectSpecialization<void>
9 C6 a* @+ G' D% a& E{
; R) H# S1 D2 y2 x- M& n0 H template <class Normal, class Void>
, D1 d3 w2 F( q% I9 z7 t" p struct Type { typedef Void type; };% e! R, j* z2 Y- h0 Q- l
};
7 ]4 J& L7 k( o5 L9 A# u* W
9 Z" G* s7 k& F8 u2 B, I- m7 R4 ~template <typename T>2 t6 l5 K- C( e0 I; c8 }# F/ j0 T
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable" X7 O6 ^ d0 x5 [$ }
{
$ J( H; A2 W' \0 R% s# Lpublic:
. b3 ]! W' g) b QFuture<T> start()" d# `6 \% z% o8 B6 J
{
3 I$ o% b2 e' c: [0 X( _) Q u this->setRunnable(this);
+ o3 S% @& @- [% L( H* ` this->reportStarted();& j, x, E+ Q* ^6 X1 G
QFuture<T> future = this->future();3 r6 p! y( s5 J! o
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);; R" w1 x$ a6 }: b; \& V
return future;
6 W4 S( `/ E$ M5 ?2 n; y }
$ ~; \" {' [9 @$ |+ H: \) I
% r1 c8 }) p6 Y( K7 c- E3 i void run() {}9 V+ ^) ? J Q; C2 z
virtual void runFunctor() = 0;
# @9 O1 f |( i8 F- K};
5 u# _* g G. @# J- n
- F5 R6 p8 s" j3 l, e% C: i6 ]template <typename T>
+ I" E9 n- w! ]4 ]' Y- N# v d5 m4 X& Oclass RunFunctionTask : public RunFunctionTaskBase<T>* X1 n7 `2 u s( C
{6 k; y. j4 I# W/ O! }
public:
]$ A% s: r& d. p/ P void run(), X& ^4 X9 }; |1 z
{
6 [: s" l) x6 C" k, s# q& ] if (this->isCanceled()) {
. _2 [$ g2 W; H this->reportFinished();
/ j' K. r1 r. @* ] return;* v3 K8 G1 f6 N! Z
}# ?; m0 ^6 T# r( ]0 v' E7 u
this->runFunctor();* M9 O0 G- C# b
this->reportResult(result);
9 o# o3 e- `. e; m this->reportFinished();/ y& G$ v: N+ a& d: @
}
' ^+ c5 r5 e6 b7 Y9 |( u' R6 z, p) V T result;6 K- C1 [' _# F6 S [2 |9 t
};" h! \+ _& B) G% X, C9 V9 m5 b
1 b. ]% L F+ A% w
template <>
* c% ?! m ]2 i" t# |! L- D2 kclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
" w$ h$ d6 S- z: q7 U{
5 U5 s6 A: m e! {& Jpublic:
6 p/ O& ?# r& e. l void run()8 e; M6 Z8 s9 g7 p; e7 G
{
# x8 U3 t N! L1 |% i2 z if (this->isCanceled()) {( _% v( A" t- ?% m W7 U5 } X
this->reportFinished();
; m: m2 z/ H/ R* v6 i return;
+ z5 ]6 [) h( ?9 k' v9 K& q }
% ~* o4 O' H* K$ { ?1 W2 ^0 U0 T this->runFunctor();
* |1 P) P$ n# x7 I this->reportFinished();3 L$ X5 J( R2 j
}1 n4 K6 j. C& g1 s
};
$ Q, z/ x: a$ X4 ^! U
% a) e6 O/ A4 N% m) X} //namespace QtConcurrent
, K/ n% N6 ~; _4 }
' l$ u1 o2 p7 w b4 M#endif //qdoc
?+ u4 {# M* r/ h9 o1 {: L1 }$ R/ j, S5 k2 ?; N( l
QT_END_NAMESPACE- @) |* {: x; _; w
QT_END_HEADER
H. `5 y$ R! n
% d+ m+ B$ J% k! Z! }, i% j/ ?#endif // QT_NO_CONCURRENT1 e8 S% s( r2 N3 j' U, k- v" `) t
+ o+ q" A; ~6 _#endif
' W' b8 Z; h" J, s6 u. l! v2 c' H" V; A2 K4 j& `: d
|
|