|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
: H/ r$ {( Y5 Q( t/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
" g+ {4 {; ~' p% v+ s& I
* h+ t) I% S; I$ k4 @0 v4 F, h这个头文件内容如下:8 X+ W9 Q: b# ^) V# X- ], H0 W
#ifndef QTCONCURRENT_RUNBASE_H
a. g6 g" p5 t1 V& g) b& Q#define QTCONCURRENT_RUNBASE_H9 Y; y7 S2 V) ]( n$ J! {: i* A: E
5 d' G/ `, p/ j' v& X# B, R#include <QtCore/qglobal.h>
& Q( r8 Y! Q$ ~% @4 j* A+ t
% D9 ^% X" n0 I( @#ifndef QT_NO_CONCURRENT
( E0 M3 m6 S* Z# y# z% j" v2 Y3 v$ u9 v8 o% r
#include <QtCore/qfuture.h>
1 j! B, `- ?1 s#include <QtCore/qrunnable.h>
6 W1 J3 `& Q3 Y( B#include <QtCore/qthreadpool.h>+ k% t& V" M0 p+ b! S) }
% e. `2 L3 r) r, q: C: w
QT_BEGIN_HEADER h- Y0 ~, b& f: u# P; `
QT_BEGIN_NAMESPACE
- X) p5 R+ R. J2 ~$ ~2 s) c
. |% h1 I. e- x& sQT_MODULE(Core)
, }/ [& J8 B0 s& H) O6 _$ [1 e9 E: b2 k
#ifndef qdoc
6 h3 X0 d( w! G9 `1 {8 P$ {4 c
1 a+ |: r) r! Q' a5 V' Znamespace QtConcurrent {
: {* M1 `/ R5 c/ H
! W2 s7 w3 s& T/ W2 |' stemplate <typename T>; f2 B$ R0 p! o( s
struct SelectSpecialization
' I% d/ R# `6 |- U9 A4 e! U0 F1 ?{
" V K" S+ f) ^* w9 g/ [; y; O template <class Normal, class Void>- X3 t# G. _% ]9 m9 A% m7 @
struct Type { typedef Normal type; }; u- z: i' W9 o9 i( C( `
};
) z1 P) D% x, Q7 P" X. z: A
5 N, z' d, d( R0 J5 D4 B. jtemplate <>
* G& b" y& o, sstruct SelectSpecialization<void>
' i5 m5 a: e! h8 r7 Z2 }# n( i8 O{
7 ?9 y. Z& `% z template <class Normal, class Void>
- P6 p% ]3 K; V% k' { struct Type { typedef Void type; };& ]' ^8 h4 I, |
};
4 u( @" U$ ?- ^' W9 Y% n1 ~% L3 _: p2 Y/ N9 X
template <typename T>$ x/ J1 h: N- z4 ^0 E" o! p3 X
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
- G$ h% d# V* v{ \ J% W8 @' G/ e% S+ {
public:1 J! B: E" z b9 T# D- G( _
QFuture<T> start()( Y1 U* n# D" q! d( W. c: X. |+ l
{& E+ A6 G% k D, y! o
this->setRunnable(this);$ J- w. e7 \! E d3 X& l! C7 e; f
this->reportStarted();0 _0 V. l% }" P5 u, d/ G$ F
QFuture<T> future = this->future();' G* A. G, {3 B; o2 N5 F
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
0 {' p0 }$ x& m a+ H8 e6 L* { return future;
& o: g+ s& r9 ` Z' N }
% ]: [$ [! @& K% e+ | ~0 R8 z. w$ m7 H; b
void run() {}$ c: T/ f# z4 P9 ]
virtual void runFunctor() = 0;
0 J$ t6 \3 `6 u" j5 v; ]};
7 z9 I9 b' {, ^/ X! h
7 Y% ^" S& t8 r" l" I- U6 K3 otemplate <typename T>5 D- n8 y; X) k9 ~' b( L' e: K7 A
class RunFunctionTask : public RunFunctionTaskBase<T>
! @# r6 Z5 ~: L, h0 r' m{$ i T$ a' b) O3 G5 J
public:( a' t" Z: L( j+ \4 f
void run()# K0 G9 x V* U% g% o6 }: ?
{
+ V3 k2 x7 K' O: L& P2 J if (this->isCanceled()) {; R; R& p4 x$ S. x: R
this->reportFinished();
5 P/ D8 L# C/ E. d& J; D! j/ c2 ~ return;+ N; m( i j& x
}7 o4 ~/ R9 A+ l4 Y$ c
this->runFunctor();
3 Q2 Z3 R: a) V- F; U this->reportResult(result);1 ] q2 Y9 k9 r0 Q
this->reportFinished();) H+ M7 r- x0 _4 i1 r1 l
}
1 K$ f- m5 ]$ b T result;
4 P6 B5 D& n% } O* X+ i};- `- i1 A, k- @7 l+ X% ^; Y9 t
8 P. D( I% f( Utemplate <>9 W0 B' b* e2 E: U
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
: e7 a" C/ e% l6 ~/ L' J( K{
6 }: T; @1 |4 b+ g# epublic:
Q$ m! F$ ^9 k' u- f& ]7 Q void run()
; c1 J$ M w9 f" A; k {8 J- p$ m* `* y: k! D7 A
if (this->isCanceled()) {) D0 G9 q: @8 d {0 u& M- w
this->reportFinished();
% T( A' s4 c4 I+ M1 Y/ l8 U5 t return;( T9 b4 q$ `1 J( W( u0 e$ y
}! w, w# T" W( Y- @% }! p* `
this->runFunctor();+ ]. f% G0 c' n
this->reportFinished();8 c8 ?+ k6 \6 K+ f
}
; k7 b/ i! R* H1 T1 f* i};4 v* x m+ D* K5 O3 A- C9 T
3 Q" ?4 [, ]% `
} //namespace QtConcurrent
3 a' I& l c9 a6 B
+ P9 O: \4 O, b K; `4 |6 T#endif //qdoc' }3 a) Y5 N* Q2 ?) c, s
9 [" P1 b6 b" V q3 a! H8 b1 B8 MQT_END_NAMESPACE
% ~5 P- e8 g, cQT_END_HEADER4 `( Y; U, {% ] A$ \
1 J# F# K+ D2 k: J
#endif // QT_NO_CONCURRENT
. O5 ^. ?5 a" t! q6 h! E8 J( b1 W7 S- j8 l7 g+ J
#endif) x- j0 ?% a0 {$ ~0 b- ~! d
+ }* r6 P7 ^7 _9 w/ b8 W5 Q$ Y |
|