|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
5 S' C+ k& H& y5 k/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
9 K, ^" q: W; Z' N2 y* c$ ^: ~- n
, |* z, o, s4 Z# S- Y这个头文件内容如下:- o4 f% C. f8 m1 t
#ifndef QTCONCURRENT_RUNBASE_H" y1 O U, Z5 ?. v( Y& P4 ?
#define QTCONCURRENT_RUNBASE_H" G, L. }, A) s9 R) h
1 ^2 B8 I. W' J- r/ v) l#include <QtCore/qglobal.h>
0 p2 w' ~ K6 _- t- z- d5 P2 \, J- ^! P- M- F: [9 s/ j
#ifndef QT_NO_CONCURRENT
9 h: a0 H/ c0 P$ k3 e
+ ^& D. u U J0 H3 W" p( o: e! X#include <QtCore/qfuture.h>
1 C. C* T! M. |#include <QtCore/qrunnable.h>
9 ]- N. n. M. a4 D2 T#include <QtCore/qthreadpool.h>& {; F' f( c& d' H$ k
0 t; \* p' F# y6 uQT_BEGIN_HEADER
) c U( A: b$ i. d5 c8 i9 R2 dQT_BEGIN_NAMESPACE
0 z% B4 z* e! m7 F5 R( k
; W$ E1 T: N5 h/ wQT_MODULE(Core)
; l: L. T7 o" z6 Q
) D& Q9 F: d' {; ~#ifndef qdoc; X2 \! p' w, L. i d1 @/ q
0 ?# c1 _% o7 {2 a3 C! Unamespace QtConcurrent {
! P9 d7 P3 N- u3 x1 T6 o9 O. H- y9 S. y* E' g( b( q
template <typename T>
: _/ E* { |- \5 t% Fstruct SelectSpecialization
) f! ~ @- i \# w{
$ U" r+ n: w5 G template <class Normal, class Void>% K( t: E7 w1 a. k% p9 m4 I
struct Type { typedef Normal type; };8 U7 \& m6 T. l* s9 C! ?7 d' s
};0 t* d( W( t& [( \3 r
; ]' E$ E* _8 A, Ytemplate <>
9 `1 }- G6 m$ p* H3 _" p& o+ fstruct SelectSpecialization<void>
2 b* I4 N" W5 o( e# f o0 M{: ]& M1 f( Y+ G4 P; L
template <class Normal, class Void>
' ~4 m8 T% M; J7 Q2 p struct Type { typedef Void type; };3 D H5 ^# Y. x C
};' t/ {3 d+ b3 V' D4 S
4 I) L5 L$ b; Y; T" a6 A4 g0 wtemplate <typename T>
7 ^0 {7 R7 \, l! t% _ o7 rclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable4 L" ]" _' h" y* y3 a
{) l. I/ D$ d0 g' M: n. x- E
public:
\# P& A- o. Y6 S QFuture<T> start()
9 D, \. d6 J. I( o/ _0 H {
6 Q% c( A3 w8 K& Q3 y2 n& C4 R this->setRunnable(this);
; s4 X" E4 H+ G this->reportStarted();+ t- k' l1 L; k' ^
QFuture<T> future = this->future();
* K& _5 ]+ z( ]9 F QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);) c! u% ^. I% y% \# ^( p
return future;, ?% Z g) B" @6 D1 w
}
+ g$ ~2 r5 I6 v, J' K3 m5 v
! {: f4 Z- c( e3 O {5 L void run() {}/ L- T0 H _: m4 L4 D) @
virtual void runFunctor() = 0;: }( D9 Y" ~7 i# ^0 g0 C [% _) @
};
" U& X% |9 d+ e+ S
5 }2 o, o6 B9 @0 N8 G: S! I/ v! X ?template <typename T>2 P1 v5 ?6 q4 L2 _
class RunFunctionTask : public RunFunctionTaskBase<T>& T4 u7 t6 |! U0 T
{
. a: ~* J2 }3 K0 V! wpublic:1 X6 b0 a5 i) J3 K
void run()
" S; T8 ]" l) q8 \; H* P {
/ a1 p; g8 F5 a% z4 d: Z if (this->isCanceled()) {" L. [2 o, g L5 ~) G1 w* w; g
this->reportFinished();
7 [5 O; r$ X0 g9 u7 T+ I. o6 m return;1 e* \' t6 E- ]# g- o: ^% N
}
1 l5 i" H9 K$ \. F( T) ~& ] a this->runFunctor();
9 `+ N0 P5 V; q7 X this->reportResult(result);
1 M o, i s& f' ~$ g3 }; r this->reportFinished();: p F% o) W5 P% T9 }1 j( q
}
* I# L$ d6 t1 e- Q/ ~ T result;
( G* w* ]- k) q$ e};2 C' K: j+ z/ w3 D7 t
5 U; u* y# C) P% Y
template <>( N h) y( H; A$ `
class RunFunctionTask<void> : public RunFunctionTaskBase<void>6 A4 m8 P- Y+ E, o: H; S
{/ N0 g1 r; { L4 |9 s3 ]# N
public:% }/ x, t, n8 v* Q x# B& R
void run()
" a5 O( B' b9 l8 e {
2 H( i9 X: S: ^- a9 H6 S% a M if (this->isCanceled()) {
" r9 u' k% K: o! K7 c, Z this->reportFinished();4 b" F2 a/ b7 f' O9 Z; a
return;- Q, y- S# }; G5 a- l6 q+ P
}2 O! |7 j5 J* i1 c3 i9 o5 J
this->runFunctor();
) ~* P+ ~, {- U this->reportFinished();
1 {2 j. Y; _# I1 C/ O) x }7 H* P% p6 g; V
};% C q% u& e$ K+ H$ F$ _% P
/ f u$ R/ F6 ?9 T- \: q1 V} //namespace QtConcurrent( R; h9 G% j( S$ W# i$ X
: I. z4 L, e z2 O#endif //qdoc& v2 v) x/ u1 ^/ l/ ]' B" r: p
5 s8 R1 p5 {- h" V( B/ \9 TQT_END_NAMESPACE3 H8 x! O6 E3 Q( k- B! r! k
QT_END_HEADER J) G. ^" I3 A) H
5 y( z) X3 y. r W
#endif // QT_NO_CONCURRENT; }/ O# g3 e K; Z7 Z, F: h0 w8 e
7 f* a; r) G. H G8 M8 b
#endif
; t c6 x* H$ t, Y) r3 O2 ?6 R, ]# |, a7 z
|
|