|
我对syslink进行交叉编译到arm,但是出现如下错误:) Z+ {7 u- W: Z: @3 J2 ~
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
# E- {- E* m4 l* d8 g9 `4 `+ F' H) X: R! W2 R3 s) g- R3 t
这个头文件内容如下:
1 f; M& g" l$ k, `1 C' M4 \) ?* ?#ifndef QTCONCURRENT_RUNBASE_H
. y! b* f6 ?( @- ` @( b' U#define QTCONCURRENT_RUNBASE_H5 v1 N2 U* f7 l3 F' u# ?
. m. e' `1 f/ @( C: j#include <QtCore/qglobal.h>; h0 f9 V( Y l3 \4 W# u- ]
G/ I- ?+ j7 [4 X
#ifndef QT_NO_CONCURRENT/ X7 @; @) O% Y( V# y! d
/ w3 o9 U: u; b8 L* L
#include <QtCore/qfuture.h>! P$ H; r( O3 w) T" `, L
#include <QtCore/qrunnable.h>" _3 ~) U ?/ l" p
#include <QtCore/qthreadpool.h> F N& u0 D! V9 b, p1 v
3 v' W: J2 `) O+ }, Q c, a* zQT_BEGIN_HEADER- j$ y) B3 e6 x" r1 k7 g7 {7 m* J
QT_BEGIN_NAMESPACE- N# `% h" E: B! @
7 X6 Y/ o1 N5 I3 M6 m
QT_MODULE(Core)
: i1 t1 H$ e# r1 \9 @5 k
; f0 C; g) z; e$ o9 \7 A; v0 O+ z#ifndef qdoc* D- t4 v H. e( p& W2 r
0 h% J# D$ Y# ~namespace QtConcurrent {
3 P9 Q: x; O" ?! g) q- [
; y! m: E. I0 r- B0 W7 Atemplate <typename T>
/ w- u/ Q2 u" o3 Q' h+ Zstruct SelectSpecialization' o' d5 P/ n4 U- e/ o2 t
{4 T. g0 `7 E$ s! d/ {# |7 @
template <class Normal, class Void>
0 O. l- w2 ^3 Y: x+ B0 ^$ l/ a4 K struct Type { typedef Normal type; };
, H+ e' O, S0 u: i, p- R' x};
& b* i( R& M$ L( A- X$ q# `
7 \: z, x! x; P5 ]template <>8 K, N" G- L# \
struct SelectSpecialization<void>
- H( O5 l2 E" v+ z/ s6 f0 s{
, H9 p2 l |5 K' V( a8 a template <class Normal, class Void>
6 H: ^7 F3 z& ~+ b struct Type { typedef Void type; };
* V; r4 {% P7 j2 y# m8 u+ t};+ O5 u8 S2 B, k( o0 |+ t' @: ^: z8 e q
% {" @+ x# D- m. Wtemplate <typename T>
% B0 i6 C' s8 f$ K/ ]0 M+ iclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable! {4 L: h; l8 s8 v) F
{
( V) z) ?& X& Gpublic:: o; {: a" o" t" t
QFuture<T> start()
2 B8 s7 q2 B0 e \, X+ m. }+ p# ^ {" X' l( n2 _+ |+ J P
this->setRunnable(this);
7 ?* B$ v1 b5 h this->reportStarted();
; d5 q! W- c9 K. m, h \: A, Y/ Q QFuture<T> future = this->future();
( r$ |% {1 V& Y5 `$ b; g9 W: z QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);' N7 s/ Z/ c6 f, L
return future;- r! m7 s: F8 l4 k" G8 l% X/ f) E5 d
}2 E3 s0 T- p- ~
- M) C; y8 w! r* m( B
void run() {}
2 u0 g9 p4 T1 e9 `+ g2 @* M) O" ~" t virtual void runFunctor() = 0;
, a6 O* y! E7 G};. V, G% t. g2 }
: G+ o+ u+ v" ^' ?1 r# c. P, G2 atemplate <typename T>5 u4 c: E( G. |7 f, h, v; I
class RunFunctionTask : public RunFunctionTaskBase<T>; A* S5 s3 L" i. y X. l
{
# A1 P; G% |* ]& w: O( s6 K7 `public:
2 z) h5 R7 q) [ g! h void run(): U) G- E* [( q& T4 k3 W* V: ~
{
; {; J( j% ~' y* H- {5 g/ M# q if (this->isCanceled()) {" P% m- Y! J% a6 J
this->reportFinished();/ f1 N$ V& W0 K$ d, e; d( j
return;
4 A/ z9 Q: q5 G7 Y% V' h- k }
5 [# e% _3 J" y0 S# w4 K this->runFunctor();) i4 @$ E$ L* \3 x2 E; Z
this->reportResult(result);. ]8 n, Z- C# y2 v: t
this->reportFinished();
# v- S g6 n# q2 E! h% s }0 i* ]" [5 b* L( p1 A5 F; C7 z0 e
T result;+ i6 T3 J, ?8 R4 [# t1 _# [
};7 k" _, I6 F! C: C e* @, A+ \
7 y4 h" {7 g* t
template <>, m3 U! |+ _" z* O
class RunFunctionTask<void> : public RunFunctionTaskBase<void>* r8 h) z8 f5 E1 F
{& D" }- c ]' Q! X! _) u. T
public:
0 D6 ~$ _: i$ J! S2 C5 u& { void run()1 d6 @0 ^% s$ |0 i/ Z
{. ^# k7 V& W+ [) Q" H
if (this->isCanceled()) {; n3 }, U) c% ]4 p* |3 }
this->reportFinished();
* |( a. q$ Y4 T& }. R7 v$ _1 X return;
7 X, Q0 d; j/ o. A0 {0 z }
6 j) G7 r5 D3 W; `9 ^8 J this->runFunctor();+ {* e' {$ b7 y8 S: a
this->reportFinished();
0 ~8 h! J; j& e: T }
7 y9 A4 D) \% D3 A q4 `" q7 }1 A' ^};
7 b- i6 L& f0 v3 a0 H6 h. n, H' B1 }/ l
} //namespace QtConcurrent
% }, C0 X( _+ P# v% N: ?" b# J8 y" [% y: x1 c" y
#endif //qdoc
8 H8 u4 `4 d7 f: `4 } N8 M* C9 X K1 x. {' o- V
QT_END_NAMESPACE8 h+ `! ]5 M {6 ?
QT_END_HEADER$ T% ~+ u w( {0 q
( R8 F. E) a( g! V$ Y) U+ d#endif // QT_NO_CONCURRENT
. O8 c( O& F; d8 b# Q' |
- M: j! `) R5 P/ b6 t0 ~. C' S#endif9 L' R' e# ^/ D9 a/ s6 E5 ?( y$ Q- I
' ]8 A) M, [" i& _1 i* f9 N |
|