|
|
我对syslink进行交叉编译到arm,但是出现如下错误:0 }) @& S% E9 A* `) P8 |
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
( l% r6 R& F, |+ b6 n$ a
' j0 q$ i- K' h+ ?/ P( v这个头文件内容如下:! A) z' l( Q2 h
#ifndef QTCONCURRENT_RUNBASE_H! o* M# J* e& W6 K: M! ]7 q+ m2 f
#define QTCONCURRENT_RUNBASE_H
7 h# e" U2 W0 I7 j: y
# V/ T$ U3 W' a5 R4 H# ]2 a#include <QtCore/qglobal.h>
7 ]" o! ~- V5 v( t2 \, @; o5 Y& S5 v/ R5 r/ r
#ifndef QT_NO_CONCURRENT
3 B4 Q8 [4 ?1 ~$ t: E$ ~
, \* T2 f' l9 W4 A#include <QtCore/qfuture.h>
: e# D9 g! c, W* j! q#include <QtCore/qrunnable.h>
0 k( ?. P# B1 Y1 X4 T) l#include <QtCore/qthreadpool.h>) o# W4 m2 Y% k! }8 g
) f4 W& c$ h2 p: B8 d: cQT_BEGIN_HEADER) m! j8 _& R/ w, z1 G6 i
QT_BEGIN_NAMESPACE
: w; R" x/ E: B6 \4 @8 p5 K
4 S& s* ~+ a# n- d. n8 bQT_MODULE(Core)8 S' w/ t5 Z& z6 j
2 t3 O6 x* C5 }
#ifndef qdoc m0 O! l+ N6 t
) h, x& q) h/ c" hnamespace QtConcurrent {
& L" r D) H/ U& ]# u
% k; Z( y9 {# P* E& ztemplate <typename T>
6 ^; h1 Z0 q# G# y ]struct SelectSpecialization
6 F6 P- q0 ]0 j1 O) ?& o{5 z7 r8 W' ^* M; e' s# h3 q
template <class Normal, class Void>
- L6 I( j5 D( p% b' K9 b! E struct Type { typedef Normal type; };
9 V* c: G% |' I n};) q: d, a) c# U/ \3 \$ I
, k# Z% [0 k0 d) j! ltemplate <>" M( _# v# r' w! S1 [5 C2 y
struct SelectSpecialization<void>& {- X* J& i4 D
{7 `1 a/ m3 c+ j5 ~
template <class Normal, class Void>5 b e y+ F( f+ ^, d. q
struct Type { typedef Void type; };
( q5 W2 p( s* N};
# A4 n1 Y2 x! m, a. {4 ^
! P# Z( h: V9 s3 O" Qtemplate <typename T>
9 J2 x1 m1 [0 n& h' D; T) _( dclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable, v8 J x. V% u! R( E2 T
{# `, M7 \( ]7 |# o9 D) c" d; N; k3 C
public:- l8 U! T1 t( D
QFuture<T> start()
% s7 O1 A" H; k! u {3 @; a8 S5 m' o& g+ X
this->setRunnable(this);
1 s- o) f$ T" J9 T this->reportStarted();
& `) r" M: _* D. ?) T( A QFuture<T> future = this->future();
( d+ ]% d3 t& y QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);" @: t$ G7 M( D/ Z, E( d& I0 F6 [6 t
return future;
+ ~/ \, a, }" f, r } Q4 S- X& V$ o. A" E3 o; u# b
3 n7 Q+ ^% f' r* k# b( p f void run() {}+ G7 ?( w+ k8 n
virtual void runFunctor() = 0;2 |8 H% C4 K* q
};" v. |( j; [" ~9 z* l
9 e: o$ `. }* M1 i" W) q
template <typename T>) _5 c; H6 Z5 a G5 t
class RunFunctionTask : public RunFunctionTaskBase<T>
0 L) h9 I6 @. L4 S{( G) ]2 m" D2 q
public:1 w4 b/ z( S" d6 m- s+ c% ^
void run()5 h5 C; X& K5 W w" I
{# ^4 w' [& H% O! V( \
if (this->isCanceled()) {4 {5 K- g# B; i8 D) X/ p
this->reportFinished();
' t( F/ N7 {. ?1 o' t3 h! R return;
' B( @- M# i( v }
8 ?: [; _+ V# b2 y this->runFunctor();
- `# N8 e+ S) Q# r this->reportResult(result);+ r8 W: ]/ b/ U4 O- v4 X
this->reportFinished();( p0 Y* i- l# A0 L2 q3 l
}- {5 M' D% W& U' n: H+ N6 v. l# _
T result;
( z5 K. L1 q$ `) T z. |' o}; x' l. x3 c9 s, Q
8 f2 a r4 Z5 e3 r7 B" t* i3 ]
template <>- w$ x3 b; A+ \# a% J, E$ N6 u, r
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
! C+ J! f" b, h' ]3 _# X! X{
1 w* a3 k* q4 W3 [- ?public:6 [3 C* S0 J- O# Y5 f9 u: U' `
void run()
0 U" Z7 i$ b/ z- u {
6 b; D1 b, U5 D3 p8 v3 u4 t/ u if (this->isCanceled()) {
! O3 Q+ L" G6 s! B. n' w this->reportFinished();- M& p B: O$ `8 T# m4 }8 R
return;
- A! h; o9 k+ R( _# S }- Z( G! m3 }; t# f
this->runFunctor();! @( X( I+ K$ C3 B5 l- o% x5 V
this->reportFinished();2 e; L: m' J: M/ p0 \6 ?+ w
}3 k1 b. _- k+ \* u: H! }9 d
};
3 c. G& B/ X3 F' q a' e3 ]1 N+ C+ k7 n4 @
} //namespace QtConcurrent
# _. h9 i3 D- u6 T3 \* M2 k2 U0 Z$ I0 E( A% M; n
#endif //qdoc
6 ?3 z( e" S) r2 a1 E4 s6 d5 ?& P+ f% v7 _. y% A- q3 K
QT_END_NAMESPACE1 c& |, Y+ d& y# X7 _1 w( v( }
QT_END_HEADER
6 R& y3 m- b9 F! y; a) d: a1 {( E. ? f$ s
#endif // QT_NO_CONCURRENT
( _2 n1 Q! X( q& i4 _" _) M5 J. q! I5 Y/ L" Z. V
#endif# l Y. I! u J, ~3 O
$ c1 H! z% P/ l' v
|
|