|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- V; O {- t' d! J, O1 w/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
+ X0 A$ _, U4 w ?6 ^/ Z) P& C+ q
$ Q+ ?1 q" N9 s/ _- z: {; x这个头文件内容如下:
7 r3 }" k8 e& f: M; }% f#ifndef QTCONCURRENT_RUNBASE_H' t1 j3 I. q( G2 q# U2 ?
#define QTCONCURRENT_RUNBASE_H1 X* r4 X* u7 n& C& d7 R
1 ~$ o3 m( I, ^/ I' y
#include <QtCore/qglobal.h>. m4 a6 C% G* Z( x: z- l4 o
! x( u/ O' a' y- {2 R5 K* j ^# }#ifndef QT_NO_CONCURRENT- x# {. J6 R, j3 X
; M, k2 B* m. f a#include <QtCore/qfuture.h>
$ m3 l. x0 p5 j& |#include <QtCore/qrunnable.h>
; f4 i0 e- Q0 A* r; G9 H% O( H3 f#include <QtCore/qthreadpool.h>
5 \8 f4 T0 M/ q7 P+ c
^/ c$ }$ X% S% F0 |0 pQT_BEGIN_HEADER
1 v. a. P9 V: v2 qQT_BEGIN_NAMESPACE. v) Q7 f* }) e+ m3 ?
7 t- d, H$ z4 Q" ?4 x- k; RQT_MODULE(Core)) j$ W& {& R9 w1 U# _5 s0 l
3 a1 O# q4 \! ]: E' n#ifndef qdoc! K7 v: @& v4 b1 ^+ l8 n0 v
6 m) V) u' G. H! k* T% A0 Z( o) Enamespace QtConcurrent {
( P9 V! D8 T: R0 y
+ s, \! }4 `4 P% d6 O0 O. t; [template <typename T>
3 c3 M; _% p1 |! Ostruct SelectSpecialization
; B W* U; a3 J& w{" T+ }& U" E1 w& U! h1 t' s" G8 X
template <class Normal, class Void>
* y1 F/ a5 z# L$ t struct Type { typedef Normal type; };' o# C: X; Q$ T- y1 F/ U8 Y8 Z
};
! s O4 t* J0 g; i( B9 O# l
+ |) Q6 |) u4 X, m+ Z( }( R+ ytemplate <>" r \8 X7 j' {1 O) u( r
struct SelectSpecialization<void>
+ y" W, w" o9 G2 s5 b3 {6 V{& y' a" E: K$ w s. P5 v( V! X
template <class Normal, class Void>& d0 t: _! v+ q3 i
struct Type { typedef Void type; };
0 a$ ? m4 Y0 c* }. i- z};
( c" x6 g6 Q' `% O) q" }! V0 [2 y- {0 n* |6 T) J' v
template <typename T>( Q- L; V5 v S$ \
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable7 G% E r0 j. e
{8 z- z) ~+ p! }3 }
public:
. J8 t$ n2 y" Y1 w# ^" w7 k. X4 {' N QFuture<T> start(): B' g. b% G& a
{' g! r8 O- u1 `$ `. l7 N6 C
this->setRunnable(this);- f: F" P! t" ]
this->reportStarted();. v. O# Q& n- j! G# I. Y
QFuture<T> future = this->future();) E/ T3 \# H7 f/ d
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
5 g# C2 w# ^& y( l; A5 k return future;' A8 N9 B0 v" Q. n) r! p
}$ ]5 x8 S( H! t( E# J) Z% Y e
4 q: W% q% o2 r6 h% }/ o
void run() {}
& i9 G3 r( s. @+ t4 B( [ virtual void runFunctor() = 0;
, Q& ?) n1 [1 N+ u/ c% |};6 `2 \& l9 Z* Z9 v- E' A
6 F7 _8 r% R O9 o: Z, G: Qtemplate <typename T>
% r3 Y3 E% V) [- |class RunFunctionTask : public RunFunctionTaskBase<T>( Q+ R& @! b6 x. }% W h, Y- p
{3 h) F* a* o! p) a R$ A5 u
public:* I+ ^; p2 l7 b
void run()
7 X. V- ]) g" }& A9 ?$ H/ _8 c+ Q: o+ o {
+ C& j: E1 b3 I if (this->isCanceled()) {
8 o" x! \7 J( L# h2 m this->reportFinished();
0 R; c$ j% M. ^) i4 w# k return;& h8 p* E1 c ~- E
}
5 w5 h" c& ?: j& Z5 a. f this->runFunctor();5 h6 y( @+ c/ ]
this->reportResult(result);
( U+ s- E& |- Y7 d this->reportFinished();" c6 ?$ f7 Y) l; n1 s
}
2 c, y1 l, @5 ^+ {# q/ ^ T result; d5 @- J4 P+ U' m! T4 g0 A
};$ O: a( B, n7 m( q3 M
/ b! G' q7 Q8 w6 K
template <>
9 M- @4 I* _) W0 E& u: y) Iclass RunFunctionTask<void> : public RunFunctionTaskBase<void>2 q) M3 P) ` z: D) k2 j
{
; P+ K# s, J U7 W' {! V% H1 upublic:/ q9 q+ U$ s. K" H5 n
void run()* T/ ?' z/ \9 h) `: Q2 Q
{
9 Q/ C% |; Q$ n, T1 ~! _ if (this->isCanceled()) {
+ r2 z7 s& j8 \7 q this->reportFinished();1 {# g$ R+ m% ~' a! D( F. p0 i
return;
4 b6 O( y/ Z: c5 V* I' E- b. l }
2 k s6 k! I: L3 W+ L this->runFunctor();+ C6 J; u+ W& f; c
this->reportFinished();6 d" H3 k. G- Q) Y! P) G9 t
}# {) j9 B+ \- Y, E9 Y6 u
};
1 z7 o, R& ]# l7 s; l5 G) K8 \5 ^' b X4 _" }1 p! V& G
} //namespace QtConcurrent
: U0 T/ t0 z& D
& z) e2 M5 ?2 y#endif //qdoc0 P( M- Y4 H% G U
, K h" w/ @! o: q6 b
QT_END_NAMESPACE
Y( P8 H! H) G; SQT_END_HEADER- e! w, m0 X2 k L% x' |
! A. P4 [) i8 i6 o' i
#endif // QT_NO_CONCURRENT( q/ [, q1 B- L0 y( Z0 B" A6 [
9 R. R4 f) @, d8 H1 D& ?#endif
/ t, V& {( D( `% ~0 _& q, m6 _& @7 A" g9 }+ ]% f
|
|