|
|
我对syslink进行交叉编译到arm,但是出现如下错误:- _% t& k N+ Q5 R1 @' r' k5 n
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
4 s0 {' [! X+ l& C2 |6 ]7 @4 X1 M8 G+ p) x0 @) X
这个头文件内容如下:
$ b- h2 @; c- b2 M#ifndef QTCONCURRENT_RUNBASE_H
6 M2 C* D, j- E3 z#define QTCONCURRENT_RUNBASE_H
5 z$ c# ~% q6 | N0 ^5 `& a2 Y! N* P9 [$ D: I
#include <QtCore/qglobal.h>
, `4 a( `( @5 X
4 u- q+ [* W4 e#ifndef QT_NO_CONCURRENT
% J; R8 i( e4 R0 B
; e9 w! E5 y4 p8 [- c/ V#include <QtCore/qfuture.h>& Z4 t' u; \! ?4 w5 Z- M o" d' D
#include <QtCore/qrunnable.h># Q+ p/ M1 ^4 G6 Q1 P
#include <QtCore/qthreadpool.h>
5 m" P1 _- W, s2 _4 A D- n9 }8 o' T! ~
QT_BEGIN_HEADER
6 ]( m' C S7 O: y6 [& r: a' U" bQT_BEGIN_NAMESPACE* [2 U0 C8 f/ t0 |" ~2 Q
* ] J7 H; H& r7 VQT_MODULE(Core)
1 @/ b. ] ~. P$ Y3 o
( v" F: @8 m/ d0 q; H3 u& W#ifndef qdoc
) V$ Y5 ?. F& y5 Q7 O
" K/ q8 q$ r2 b9 w* P$ pnamespace QtConcurrent {/ H, i; _; d; S0 O1 r7 M* A4 ?
" e+ ?9 }! V* B
template <typename T>" t7 U0 r ^9 j9 B5 s$ ~7 l2 p. ]1 X
struct SelectSpecialization p/ d! X# N0 N( X- `- z' a
{7 ^" g' C e, l" n, q: n2 y
template <class Normal, class Void>5 ^% W/ z/ n, O
struct Type { typedef Normal type; };
. u2 N+ C3 h m};0 o8 b0 Z/ E/ k( j# I
5 }+ l' I" C& |, A) x
template <>$ T- q8 }* P6 ~' Y
struct SelectSpecialization<void>
# {% `7 B- r9 P! I' x$ ]2 L6 x: [3 e{
9 Q& d! \% d" [8 I template <class Normal, class Void>
2 r, O; ]# k" m& e. A# \9 [ struct Type { typedef Void type; };
) m$ @) D( f* c, m};1 G7 h/ u& S: a/ e" `" I% n
8 A1 }; `1 W" o0 W% \
template <typename T>, U+ j' {3 G' v; X9 l
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
2 S# Y9 F; O) b( {6 d3 P( W. U{
6 `. c+ d# K5 x) P7 _9 dpublic:
d! \5 I9 T& U& }& k/ l QFuture<T> start()0 ^ ^: Z( {) v' e7 O: P
{# ~# |3 i: v4 F$ O6 p
this->setRunnable(this);
d$ a0 w: j' t3 N this->reportStarted();& Z3 r! r( Y) S) W" c( r7 B+ B' H
QFuture<T> future = this->future();$ S9 V5 p' X6 g7 ?% w: @
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
C* `# m V, ~( X5 y ]+ ^% q return future;5 T0 B$ _3 ?) ]5 l* g# k7 L% V: |0 V
}
6 A" l% j2 Q; s) k
$ g3 G0 C2 v G3 ~% P" q% X void run() {}) F6 d! J- y% B5 g
virtual void runFunctor() = 0;9 H& K; o; A$ U% j! S- f
};# T. Q8 `: p$ o! J
* V" P) l2 h0 j% u/ @
template <typename T>
7 [* ?# ~$ l' mclass RunFunctionTask : public RunFunctionTaskBase<T>
1 h$ E$ @6 C' o, l# |/ h{
, U( M2 ^& W8 u' n, ~9 R/ }& u" |public:
p! R3 j( a: u5 U4 U( c8 f void run()/ M. D* k5 R! ^- t; y; Q! n# c( ]7 \
{+ {7 F: U% n1 l7 m4 V
if (this->isCanceled()) {
0 Y% B8 I7 ]* k& e2 u2 i+ ] this->reportFinished();
2 h! y7 O k- w/ B1 ]6 O return;5 h" m/ g( H0 \) M$ l
}
, ?3 M" n0 h6 `$ T. `! G1 W9 Q this->runFunctor();
7 P" Q: p6 T4 e) F this->reportResult(result);
2 r; X+ c& D+ l4 I7 N7 l this->reportFinished();! b! J; j) D0 l
}
7 I# Q' ^1 }7 k- B) _. ~ T result;; s4 k( Z- I5 I! [& p1 N1 V
};
4 ]# i2 _; j" h, ~* D( K; H- h8 }8 G2 J
template <>, D, C; \0 Y, o" c# u+ a
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
3 D5 ? U7 H1 X{
1 l, ^' I1 R* D4 f, @public:4 E+ l& c. U3 H% o+ v; S
void run()
2 a& D$ R$ @3 Z; B {/ c3 S$ b9 j% x4 z. ]7 e8 R
if (this->isCanceled()) {
' I( c2 P$ M$ d4 e! I3 k+ D# A* A% Q this->reportFinished();
% J: ]! ?9 h; }' N8 ~! R4 e O return;
2 m8 Z1 u# n9 u2 \. J: } }7 F! ?$ x _4 F+ R3 ]
this->runFunctor();
5 f7 D( y( H$ Y: ~) Z3 b this->reportFinished();8 F: q5 I/ M9 |, W, T2 v1 G
}
. Y M' |' V& @' i};
0 I4 ^. l- {2 v* O+ H( b4 U1 o, j* e
} //namespace QtConcurrent
) m$ n* J' W1 M" `" x
; d# _* l9 }2 U6 \8 V- F+ X#endif //qdoc7 y( i0 T- G9 N2 \1 O
5 O7 a! O# \( P; S+ Q, {3 m. o8 f
QT_END_NAMESPACE3 R2 [# ]0 S6 e
QT_END_HEADER
H5 e) i+ @2 m; y9 N, t
, |" B1 M0 J B/ [: T6 H#endif // QT_NO_CONCURRENT
i5 [+ I+ m Z% ?$ k4 [3 J a3 {" D& T) R G
#endif2 T: i# h0 U5 t3 l7 o" o- S! _7 p3 _7 a
7 h o# w8 |2 Z, A9 l" _5 U
|
|