|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- z" }" q [9 U9 C9 a, e/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'3 K2 Z1 r; f5 V9 i4 C1 U
2 [4 c9 G9 |% O5 z
这个头文件内容如下:
: @8 d# G( P. x! X#ifndef QTCONCURRENT_RUNBASE_H
3 g# B4 e: l0 r7 ~/ A0 ^#define QTCONCURRENT_RUNBASE_H
' p: g' x, I; o% m& K1 q' L4 w6 j7 l% g- f+ z# u3 F
#include <QtCore/qglobal.h>; I h- ~" `+ P! R% y- F. Z
/ G5 D' D" ^; O, B; G. B. B#ifndef QT_NO_CONCURRENT
5 ~! Q0 i. E+ C; _
( |# E3 r! @" m' v- n#include <QtCore/qfuture.h>
( i4 s! G E# D/ B+ W#include <QtCore/qrunnable.h>& e" ^) e. a; `; i7 n* x0 Q/ F+ H
#include <QtCore/qthreadpool.h>
9 ] m% U7 E7 v( x9 Z% V
% U1 z7 c2 G) Q- @9 RQT_BEGIN_HEADER; w6 Y, b# x( q9 b( W
QT_BEGIN_NAMESPACE
8 u3 |2 B/ B$ ?6 h. o6 y7 `- H
$ r, q- g( r' S |QT_MODULE(Core)4 ]. q& x( ]( D5 \1 i, L; m( x) W
0 ~4 [$ k9 e/ E0 N7 O* X G; Y#ifndef qdoc
- u/ m/ q: U( {. @: b! x% e7 X! t6 k7 U( v r' l4 r4 _
namespace QtConcurrent {' d; r2 i7 R: w0 ]+ w( r& E! K# l4 H8 D
, a) \6 m9 A+ `7 @, p1 L3 K5 V
template <typename T>
% Y+ }% z- I, j( I2 x! }$ S K/ b+ Tstruct SelectSpecialization$ ?4 h. ]5 [0 J" Q) i
{
: d+ z4 v, |* g template <class Normal, class Void>
6 R v* e+ \, |3 p6 o# ?" _, e struct Type { typedef Normal type; };& j8 {2 p+ s% ]- f8 N8 z! | Z
};$ G' p. M' F$ G/ p6 o5 s% H
3 K6 h9 J' r( V) x( `8 ^: {
template <>
" |, R# u" T1 k3 s* P1 {. `# istruct SelectSpecialization<void>
5 \) c* q- ~5 `- o. x{
2 S1 b& ?) I2 U/ J8 h& o+ r3 t, T0 u template <class Normal, class Void>
, u" H, C& K( T8 t: T" d! a4 A2 [ struct Type { typedef Void type; };
/ `- S! [3 j+ s0 d) y* c2 C/ c};
% d+ h8 T. G2 F, t& [* ^4 Z. A# s: Z% @: K7 J& h$ R- q
template <typename T>
' A( s. }" G0 h( iclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
) a ?1 @1 ^' _9 @{
6 U" y B7 z: U U3 j) Bpublic:
& O6 Q, @- I$ }( ]$ T$ m& I2 s QFuture<T> start()6 ^7 i ~; ?5 l# { {
{, y0 n2 h& f& `
this->setRunnable(this);
% u& U) O6 ?" M5 B. a8 z this->reportStarted();: x1 ?# d8 j( L q {! O! m
QFuture<T> future = this->future();- e7 D" h# x# `0 R7 X; z8 _( I5 t
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
# y9 }0 u: ^1 b/ J+ ` return future;
/ g# L5 W( I/ c4 c0 |3 T }
6 O8 f9 W( F0 E! m/ P* Y; c) X
2 `3 |, _5 x' n0 A J2 x void run() {}) E2 x9 ~3 c0 b1 k- h$ `. ^
virtual void runFunctor() = 0;+ S0 v$ \* [9 m, I7 M) k+ Y+ L* ?
};; j# C2 \2 t2 c0 ]
$ T1 x. E. r- p: M; u& H
template <typename T>- q7 \! _, j8 |! N) q- Y3 S
class RunFunctionTask : public RunFunctionTaskBase<T>
, E( a, J: U' X: m{! A( b( o5 m' P; r( `# y1 [
public:
5 I( ~# ^" l1 {& q2 C void run()
1 w/ S t0 O2 k" ` {3 m8 B) M5 \' h" K6 X( r
if (this->isCanceled()) {
6 Y4 u# k( p' l b- F1 g this->reportFinished();6 j: h9 Y+ U( g' r- H
return;: t! t5 A5 W% }! B3 ]
}3 T) h3 l" |, d- ~# I5 w5 B9 t
this->runFunctor();: q3 G) y/ b9 ]
this->reportResult(result);7 E) \. r0 b( a0 W% i- D% E: e% r
this->reportFinished();' q2 w, M1 G) i( r5 l' P
}
5 H1 U6 c1 \. E+ c: L* ^ T result;0 L$ q- i5 s# u' u6 n c7 q
};9 Q- T' z H. A+ P x% O
; O. \& @( y/ D! }9 v3 b
template <>
/ ?* S5 M/ w( S7 ~2 C/ Gclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
8 C$ C' @' `- |# f; I; ^{
( ^: J# G [( \4 Hpublic:
, H6 g, `& c& c+ L( z9 ]4 n void run() K4 h/ G" k( L1 A4 z& T* k
{# W" `/ y5 o" F! q/ E
if (this->isCanceled()) {( E" G5 k0 P6 J& y3 F7 x2 D/ S
this->reportFinished();
# b' `: e, @, d2 k* {+ k return;- B6 g) H3 a" m1 A; n" O& r! G
}
8 l1 t9 c+ w' r3 X; k this->runFunctor();
" \: L8 |. A. ]* [: |$ ? this->reportFinished();+ i3 C5 M5 y$ B2 h2 S+ A" S% _3 U
}
8 A7 F4 ?; S, ~" Z* `6 w/ B* r};
7 s( y; u' a' q5 C& ]
3 Q! D& O, j! N' Q7 ~# g} //namespace QtConcurrent, `6 D! V8 N8 C
, a- S9 E- U& P, t( ?) i' f4 E
#endif //qdoc8 b% c% S) e- F, N; L
3 s; h% V" t9 a4 Y3 R3 } yQT_END_NAMESPACE
9 N1 D: A2 Q: I* g7 {QT_END_HEADER$ g" e1 W; _/ h/ ]' @
% R+ @# E, R: e$ `" Z+ M- Z% k
#endif // QT_NO_CONCURRENT
8 H6 z( |2 f( P! r( i9 U% ?# I# {9 u1 H. w( h' H
#endif, {) U! s1 G( Y1 o$ _
) w" c0 X+ w" ~) u/ w( D
|
|