|
|
我对syslink进行交叉编译到arm,但是出现如下错误:+ @ u1 @& T' v, {
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'5 H: p& V+ q: A( B. {3 m$ ]
: `% C5 m$ ]) g4 ^! g$ K9 u& u
这个头文件内容如下:
( K- h1 v8 d: N. o#ifndef QTCONCURRENT_RUNBASE_H, e' ^# o' H6 _
#define QTCONCURRENT_RUNBASE_H. `' T( D5 ?' a- u U5 _
4 s8 t) ~; R* h( E( Z* L' E7 P9 D
#include <QtCore/qglobal.h>
* ~# L4 C$ q4 s$ i Y b
0 U' f! A2 {' y5 k1 Z0 v- W#ifndef QT_NO_CONCURRENT
1 b9 _' o- R. _5 C
7 ?- V: p4 y; w0 l }3 y8 J#include <QtCore/qfuture.h>3 ] k" ?/ G* @( V/ ?
#include <QtCore/qrunnable.h>
W. |* ~8 i9 g/ t1 Z% R$ ]#include <QtCore/qthreadpool.h>5 U% {, E$ n: ^/ e0 \( A
, N8 E3 p8 m! Q0 C) ^6 m7 B* y
QT_BEGIN_HEADER
! P' G( q+ G% E cQT_BEGIN_NAMESPACE
& x- B/ E$ y$ {8 G9 d3 P9 g% }- K2 v: W- g, U
QT_MODULE(Core)
+ ]; ~% D. y# n L8 h: ^8 w8 V5 [; I3 h- |
#ifndef qdoc
" l/ C. w M* o: F. ?1 b
5 e% b( G, [* E" `& Znamespace QtConcurrent { y& X; \" B$ k9 E2 C% z6 V
1 C2 i' b; D' ?( ctemplate <typename T>
+ G% w) }% V- p, B c- T0 @, dstruct SelectSpecialization0 g6 A% U( b: h/ y' }
{
- x0 k2 a" T" h# V template <class Normal, class Void>2 T; C3 {5 W* I8 s
struct Type { typedef Normal type; };
+ d6 ]/ }, {' P/ B};
" i9 t. \% J8 R0 D: C+ A% x) h) ?& @
template <>' {" x0 _2 p8 Q
struct SelectSpecialization<void>
" _4 C! B/ K& n9 f& F+ y# F; b{
" e! a- g; {- l9 _' }( y% W6 [' ]/ B# D template <class Normal, class Void>1 x9 l7 ^, b7 y0 Z& |
struct Type { typedef Void type; };
- U% G. F8 ~# _};! O0 @) A2 [( d! Y0 \% y
) `1 u$ R- B* f9 V( r
template <typename T>1 K% y* e+ z" Y; l
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
7 n4 O$ A! X% u& \5 Y* ^4 m* D{
8 s# J/ J) y4 xpublic:2 g' n' L" m* a3 c0 d2 Q0 S9 A
QFuture<T> start()1 X) ~& S' g' u. T. m( D% p
{" U$ ?" A- I" l% z& }1 m" n( W% Z1 Q
this->setRunnable(this);
_4 X: ?+ K2 |) s this->reportStarted();
& B" p& b1 K: t' J QFuture<T> future = this->future();3 a) i s- k) W1 f
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0); o2 G8 }8 N( V; R N+ d7 W! ]
return future;8 X8 g M/ C+ y
}: K9 o. t/ f4 x
7 ?5 N- @0 F& ?6 @& X2 { void run() {}! X$ l+ l. w Y7 h/ O$ \* H" m9 e* I
virtual void runFunctor() = 0;
; x8 T+ [2 o& i. I* e};
4 }6 \7 A/ L, z* X2 f. }9 N; g1 x f- g1 ~# P0 g5 o: l
template <typename T>1 T0 y0 A# ?' a+ B* A1 Q4 O* X
class RunFunctionTask : public RunFunctionTaskBase<T>
# e& O8 d1 h% D q/ N6 a3 H{- W) W* }) |4 u& e% I
public:( {) [: E9 {) z+ G2 x& ~
void run()& k+ J9 G: {0 H: ^# [# n! @! _- b/ R- R
{
+ K' \1 M7 \/ U' {! B; H if (this->isCanceled()) {* I0 Y: M j) e9 v# R
this->reportFinished();9 b1 m; D1 r% _7 A$ c3 c+ N6 \: E, I
return;
+ \- w- L7 b% | }
, F |2 u9 O; }! b1 e/ A4 h6 s this->runFunctor();$ @2 ]! ]5 p6 M
this->reportResult(result);6 ^$ ?6 ]( | D+ _
this->reportFinished();% U3 Q; X+ @9 d- @$ w
}
1 i' u* @# r) G0 |0 H' X- x: m8 ^; b T result;, { b+ g1 C" t5 i1 i
};
0 M5 r8 u1 W0 z; O* n% f
1 R1 G( `* W! B2 q \1 W: y9 ?template <>
, b3 {( z- G! o, U q8 E8 M! |2 D# ]) xclass RunFunctionTask<void> : public RunFunctionTaskBase<void>, s" {9 r7 ]9 G+ T/ o: n1 }5 |' `
{
- h" {% A! f/ Ipublic:
+ J8 J) M5 ^7 k$ y! X/ n void run()
# h0 b: z, J! u, R5 n {% `! T3 m7 D4 _% R3 q
if (this->isCanceled()) {
; N1 ~! a* W# c: y8 L this->reportFinished();
$ `& w9 J' n# n+ v# P) C0 @ return;! t; k. G+ X4 L
}& `& d( p/ O T) [. H! K8 t: Z
this->runFunctor();
: C9 B2 _+ n: [- M this->reportFinished();) \/ S; l$ E3 `
}( Z" e% H6 j* }: y8 Z7 D4 @; V
};
' p" Z( D% {2 J$ c- _# z0 }- ]' y8 J% |
} //namespace QtConcurrent. q0 o0 `& r: G8 [$ f
' J6 r6 n# L$ F7 a5 J/ p! k. g#endif //qdoc
& U8 Y$ e: y, ^; `5 u) o# @$ h7 b1 L5 f3 j' Z& z6 w. c
QT_END_NAMESPACE* @8 S6 F: R; u/ x* e
QT_END_HEADER, k. h- y" B6 G6 B! }& ?0 f' y7 C. f9 Q
) B3 F- f9 M5 h
#endif // QT_NO_CONCURRENT
) W1 z4 ~7 K1 @: N# k/ L
5 e& v6 X+ D; B4 _! t1 Q#endif
' }2 l8 m# f% d( ^ F H! K4 { P U: m) ^1 |
|
|