|
|
我对syslink进行交叉编译到arm,但是出现如下错误:* L4 ^ {3 P) R% `! j0 v Q
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
C0 H) h3 b: W; _7 y: G1 R$ i2 D
0 ]+ A" Q$ M3 s4 a这个头文件内容如下:0 \- l/ u: r0 f5 U
#ifndef QTCONCURRENT_RUNBASE_H( l4 U0 j7 I5 X0 e- c8 s
#define QTCONCURRENT_RUNBASE_H& ?( ?! z, h) B( f( g- i0 b
* p8 j6 x; J! _- r( Y2 W
#include <QtCore/qglobal.h>
& B* S* c3 b3 u8 x* N$ j( X& [8 F2 S0 |+ o' u
#ifndef QT_NO_CONCURRENT
4 F. T) \6 |. t& P! X6 i8 g+ n$ B' b8 T
#include <QtCore/qfuture.h>9 s. }! ?4 \+ x4 o$ R! U: t
#include <QtCore/qrunnable.h>3 _1 Y5 S! o5 y9 G! \
#include <QtCore/qthreadpool.h>7 b" c% P/ d" g
# x- W. W& o3 {6 y, B2 Q9 N2 oQT_BEGIN_HEADER W! {8 g4 X( n! k( a) j
QT_BEGIN_NAMESPACE
* {8 W2 G5 Q2 ~* ^: A P, [" j i
QT_MODULE(Core)
+ d5 |& T% s3 Q: N) f- S b+ i. P4 i: F3 p0 I8 H% k* ]- I
#ifndef qdoc0 R* v; ?$ p/ e1 V8 h# o
% V$ q+ \& r! K9 Z; [namespace QtConcurrent {
" e( r! o& U9 \$ o* h- m% ^7 P2 H, c) e: l/ g4 C
template <typename T>, E1 V- j6 _# o% u0 A
struct SelectSpecialization
4 m" M/ R0 |' k- y1 V4 d{8 \" T: T: D' y8 _( G/ ~
template <class Normal, class Void>
! X# [. _/ [% p& x* C. v- F struct Type { typedef Normal type; };
" ^! c& ` b' [; `, ~& Y};
6 I6 c9 }% E# ~0 O! o3 q8 i
4 O1 k5 c( P3 ^* ?" v3 c* u. l# dtemplate <>% R, H' x- S1 g3 C" I
struct SelectSpecialization<void>! b) d6 o J W/ T7 @
{
8 c' W) Z* Y( A8 ^ template <class Normal, class Void>6 t5 H7 ^) P; t) G
struct Type { typedef Void type; };6 o9 _4 o7 I0 n/ `
};6 U6 d' _& U$ o* F+ y% R
& M8 F1 }& ^# D5 d6 ~9 c& Qtemplate <typename T>2 A- t6 |3 y0 X+ Y) V% M& d( p
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
+ c6 E8 c6 v8 x5 c- n) y" \{
8 V0 T( Z7 y. ?& v9 g* Rpublic:
' Q5 c3 q) Q) _! A$ | QFuture<T> start()
; u/ \/ F* z p, A5 H6 g( g {
* Q7 g2 O" Y* A5 n3 n+ @ this->setRunnable(this);
( ~* f/ s# `3 x+ k9 A% X: a1 H this->reportStarted();
0 V' r' n$ K; v Y QFuture<T> future = this->future();
) T5 g- c' a3 e QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
7 `2 z, r3 K5 a return future;# F, C1 T# l+ Y6 j* P3 Y; N; D$ t
}
0 {8 I! q; f& U1 x* F. C9 n$ i9 q: N a5 E! A% P
void run() {}" T& ~6 s x) Z0 |; G7 b5 j E! c
virtual void runFunctor() = 0;
4 V: l3 V8 e" |. ~};3 C- n/ [. l( X7 m. m6 v
* g# Q( V ?( q7 A) }
template <typename T>
: j5 U7 E& [# s; Y- K& Nclass RunFunctionTask : public RunFunctionTaskBase<T>2 d5 o: O8 z. q
{
# h4 P; ~7 l/ Spublic:
4 |( t3 I4 O* x+ k8 R void run()
: u# i. h/ v& I/ N9 X {8 S! W4 K& d9 M& E! p! G* Y
if (this->isCanceled()) {4 P. o; `7 e* x6 ]. l8 i
this->reportFinished();
5 \; i2 Y' P: v) w! C9 o return;
; G3 ?$ X2 x$ M" m1 B: B3 P }
" q0 Z$ D6 U- S, }( A3 ~, y$ r/ X2 Z this->runFunctor();
. I* D0 G' A/ C2 @7 H. H9 x this->reportResult(result);6 n! {* Z+ U8 L; t" W J, C
this->reportFinished();
( `. W) n$ A- u$ S- I } y+ J% \) K0 F
T result;3 Y8 l. s$ p& }0 I' }
};
: D" [3 x; v9 P4 r2 c: z R. M& K1 P$ N
template <>
( |3 M e, c% t8 C- F5 x* Pclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
7 z0 ] Q/ n6 B9 g{+ D+ H0 `2 i: H% d6 a d
public:
" v4 C) D" r' P/ u* M void run()3 e/ p& o0 \$ K0 K. v, G
{
2 d% M* U7 N" L( s2 {2 } if (this->isCanceled()) {9 D" h. ^- x- N4 B* t1 P) b. G
this->reportFinished();
; J4 R- n4 }( p% r return;/ Z" W/ Q! O+ e/ e5 j# G2 n
}
L! W8 q: `9 T6 V& U. T this->runFunctor();6 F- B* v3 X D& e* q, F b& m' M
this->reportFinished();9 e* J( i$ k) L& A/ S( F9 h8 e! s/ t, n
}
% Q8 o. S/ D( A, }- j# R};5 _( ~$ c( j$ {! L
; d% c; |/ C) l# g) G- N q
} //namespace QtConcurrent
, h5 D) }: B" D; z/ X
O: l( S6 }* m7 c& S! i2 C8 R#endif //qdoc
( k1 t% L( z; o6 O, {# }
; F. K8 b7 q$ {4 L/ d; s) OQT_END_NAMESPACE- X- B3 X8 N I3 T5 g1 N/ Z
QT_END_HEADER& U% u2 G6 a2 S( |
8 t8 }1 a! q/ ]' o& D#endif // QT_NO_CONCURRENT; |5 r/ V" i% q1 z/ V6 ^+ N/ b `
& J7 u1 l! R8 a3 @" ? r
#endif
- f! ~# t- q- H: ?" o& y$ S" K3 o' i( O( v; W4 J
|
|