|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- t! V+ G2 Z5 W$ Q0 u/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'6 J$ K! @0 p( \$ X4 Z3 K% }
" A! n1 q4 B6 C- x这个头文件内容如下: A# k) m& j$ {7 J% K9 C( k
#ifndef QTCONCURRENT_RUNBASE_H! N! C' A+ r' q- \
#define QTCONCURRENT_RUNBASE_H) B) D p+ J% r
1 a+ r& |) u) S$ d) e
#include <QtCore/qglobal.h>
( T3 k9 F0 L3 d+ u) O! p( b: w4 m* c: ~ G
#ifndef QT_NO_CONCURRENT- P9 G; g T. i9 t/ @3 G. e* x- v
p7 `" P& s/ ^
#include <QtCore/qfuture.h>) {+ ]- G B% L2 G+ n4 d" q
#include <QtCore/qrunnable.h>- N# R$ q) _2 ?" Q [
#include <QtCore/qthreadpool.h>9 n4 u: D' Z; X
5 @9 t9 t! M; b3 ~
QT_BEGIN_HEADER
/ h* E; G5 m" \" C# s; T1 PQT_BEGIN_NAMESPACE! N, k; V1 l% H- U0 K) n
+ x% O! H2 U1 W0 o7 I) s
QT_MODULE(Core)
& P# u7 I$ W( C# y# w; o( @
4 L* {3 r* W M#ifndef qdoc9 K5 i7 y3 L# c y4 T5 ] w# Q
0 Z" N/ C$ P1 x" Tnamespace QtConcurrent {4 o3 A: L5 F) A1 w
& m1 Y- A u# u. T; jtemplate <typename T>
+ F0 ~' d% z$ S. o# N) c; Pstruct SelectSpecialization8 \% z- k- a' H' S- X
{; G, Y! C4 P# C
template <class Normal, class Void>6 w0 Y" U% c+ D3 T1 e
struct Type { typedef Normal type; };
( b, y8 `- }) `& k. z};
! {4 A4 \9 [) Y( L- U. L5 k
6 j3 X; X9 F& U/ V& V0 P* ?template <>% U( u! c% u- D0 B# Q
struct SelectSpecialization<void>
2 c0 I8 K/ D3 l Z5 z. w{
5 W! t# V Q3 q. \/ q. G0 p template <class Normal, class Void>
/ f: L+ s* m- R; o: d1 _ struct Type { typedef Void type; };# n1 c- l3 n. ]4 } [* n3 e
};
4 p. @# J6 d* V8 m
; v L4 i( H. X& x) C' ltemplate <typename T>4 ~4 |, @- Y: j. @; V: z& a
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
& u+ M) U x; f e$ h{
; J' f0 P' }/ I7 l4 ^1 S( Ppublic:
3 [8 M& g8 ~: L2 m2 O, l) P QFuture<T> start()
1 a1 r( Y, @: J: ?" k {6 }- J( G! F5 t
this->setRunnable(this);5 J- f( l: _! {2 D! i( x0 W
this->reportStarted();; ]7 F5 R, t W
QFuture<T> future = this->future();
^! Q6 w, y* {7 D QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);) [& g7 K; m+ f0 e$ u( h1 E
return future;4 I' a5 J) K5 W# ^5 t
}
/ e6 h+ Q6 d% Q) C; u5 p, H( e H8 J5 Z, E7 A% v
void run() {}% \* x9 v4 F8 _8 v% _( `
virtual void runFunctor() = 0;: Y+ ^( A' h/ q( \/ ?4 R# U* o
};
# F9 m( c" y: p# S
* L; E# I9 k1 W1 q4 l, `template <typename T>% r) c, g9 s8 r M8 F
class RunFunctionTask : public RunFunctionTaskBase<T>( H5 \. C1 t2 g' l& O6 \/ T
{& n5 N" e: B4 U* r$ B/ [, g% ?
public:; D: Y; t# ?7 l F, F3 e) x: ?- p
void run()
, v4 N3 X; b6 C$ k3 q {7 t. t6 K) R- s N
if (this->isCanceled()) {- K; \! f& K/ ~9 W! y V
this->reportFinished();
/ T4 l6 @( g3 M8 n return;7 S, G3 M! H& ^
}4 ^/ _5 r4 W* X7 Z) l3 d
this->runFunctor();8 F2 K. `5 c+ p- B; R
this->reportResult(result);
4 m$ u3 F! O4 d- [# C this->reportFinished();
3 m H- f/ Y( p8 w; I4 R }- |3 E4 L+ z4 \ i
T result;' L7 r( A _) s
};
& T6 {4 J3 c Z N0 ?% N& `, l) L* ~ b" W/ T; Y, g
template <>1 f# @" Q7 D) @* p! i0 u G
class RunFunctionTask<void> : public RunFunctionTaskBase<void>/ N- n6 \. i7 x0 b' z
{' O8 ?3 o P- s9 D* \2 U; K- q
public:' \1 S* g( v' R0 u5 }1 q
void run()
3 \0 d: y3 O& a& ~$ H) r {
* H. n7 ^- Z3 _' z- D8 \ if (this->isCanceled()) {; y( Z- c a: g. V* {
this->reportFinished();: l" T9 T- a( m. Y
return;" e1 Y T/ V4 ]. @
}( }4 D5 p6 \: ]; @
this->runFunctor();5 q- ~, ~) K5 ]
this->reportFinished();4 V* G1 |# n% r. ?) P
}
/ A# h" c' M p& ?) C" G U};1 k! ~& ~: V, s, S4 `' u& C. w
/ R: j% k \! N) K7 {' p0 f4 G& V} //namespace QtConcurrent: e1 ~, M' J( o9 ?% O) c/ t8 z q
* H4 A! q) T5 T# s#endif //qdoc
8 y. i# ?" u! g& @ j+ U2 C" F+ _' R9 a
QT_END_NAMESPACE% \( e. H! q3 X1 y1 {5 _
QT_END_HEADER
$ t" r5 y7 O; x# c" v9 a7 ^8 q+ \) E8 G8 r
#endif // QT_NO_CONCURRENT0 q& N, Y0 W3 T; Q' J
7 ?: R. P9 J$ B \. `! \* D% e. O
#endif/ n: ~8 {8 V6 G( }
/ s0 J5 s( h1 e
|
|