|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
9 Y7 s {/ R3 v( k4 ?/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'7 R% X7 q" i/ r8 s. k
9 `8 l, l$ ~) G- [! y这个头文件内容如下:
6 k0 \6 F7 g. }- x; \* a#ifndef QTCONCURRENT_RUNBASE_H4 m* z: D1 n% L7 D
#define QTCONCURRENT_RUNBASE_H' R `. F5 M! j
' ?, v, D5 ?) v7 }7 u$ D#include <QtCore/qglobal.h>
4 l1 r. a& r' g4 ~5 |/ | g0 b! X5 U0 |$ m+ E1 C' g1 Y1 U E
#ifndef QT_NO_CONCURRENT7 f8 q/ m1 H6 O& s: g; M8 l; K# H5 \9 T5 K
8 L9 y& L$ O0 q! L- ^#include <QtCore/qfuture.h>* R3 i' r& B, E1 u# { F5 w. {
#include <QtCore/qrunnable.h>0 V% ]/ S+ ]2 q3 E, w$ P2 S; A4 l
#include <QtCore/qthreadpool.h>
( ~; i8 E8 Y/ B/ t$ i" y5 R! z
7 e& J. @: Q+ SQT_BEGIN_HEADER" [1 D! r k2 V" c1 V
QT_BEGIN_NAMESPACE# n# \4 l% d+ e, s2 B7 H
% {0 Z% p' ?! e9 s. @QT_MODULE(Core)
. `" K$ r: ^ p6 @* y6 z8 V& P$ c+ M& ]; S0 [1 p3 ?
#ifndef qdoc
7 Q) K' q( k9 k- L0 L A2 Y8 Y9 O' K2 D$ V; b3 O
namespace QtConcurrent {
: o" x+ O }& E' a9 C4 h* e2 f/ `7 o: z2 U2 t
template <typename T>$ g( N7 ]6 |5 V" |* _( p
struct SelectSpecialization' X) j% H; Z' J0 Z; T+ I M" h
{; L# V. G2 U& V, f: f8 W
template <class Normal, class Void>' y5 ^, ~- i" F; J
struct Type { typedef Normal type; };- ~' ]) @0 T& L6 l; P% }; W
};; X; n6 C( ^7 m1 \
+ ^. E7 @; s4 }0 w' h& A- Rtemplate <>
7 Q! l8 j! Y6 N& `% T8 C8 \) w; [struct SelectSpecialization<void>
. R; E9 u8 ~' h! Y+ U6 c{, Q5 T, P( E- x) H
template <class Normal, class Void>
( S' O8 V. ?/ ^7 m2 s0 n: J5 a3 c% s struct Type { typedef Void type; };0 R. l K7 g3 K* F" c" ?1 V- h
};
# E- c g/ ]$ d$ A
6 q4 _- Z$ l2 I% k% X5 A' a7 Atemplate <typename T>( E# v9 E2 g7 P% v7 u1 w6 v
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable6 A% r( R- E5 e! ^% T1 ~+ _! N
{
/ ?- K) C' e0 n2 R+ J& J; Gpublic:
: h, V0 A4 ?# G# U; o QFuture<T> start()
) Y, s- z! ^# f {7 Z4 @, r) @! d
this->setRunnable(this);
8 E0 @. u& e& }9 y this->reportStarted();! ] J: E& v$ ]6 c
QFuture<T> future = this->future();, s& Z }" U5 [3 y3 U
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);9 z7 l5 j$ c5 e7 k4 A6 \
return future;2 X& X) M8 g% w( g2 N, e
}
4 i; C8 ?+ E& D% q9 n( V* F6 a: ^2 j2 Z [! \) h$ B
void run() {}9 [' b, l& [# }- P1 E
virtual void runFunctor() = 0;2 P$ i& u/ z2 L% M- c
};
) q+ n4 q Y. `( [7 i
* \9 e4 j* H* o5 |template <typename T>
2 H6 U d* W0 j9 Aclass RunFunctionTask : public RunFunctionTaskBase<T>0 C2 a% i3 C' S$ }
{: Z7 K: {8 n1 S5 \0 x
public:
( W* R' B0 d3 ]. R; ^# @7 ^ void run()
O. z o% M3 J. ]3 k" }/ R0 v {) j* Q, ?; y6 s" l1 ^, C
if (this->isCanceled()) {4 R; Y% }; o# Z, H# U; [
this->reportFinished();* b9 A* M9 S0 p! _( x; s! i5 W2 ^
return;, ]6 W; Q8 P4 R* r, n+ ~: @
} [* a6 s& E+ b
this->runFunctor();7 I* m, p" J' n; _+ b+ |" M
this->reportResult(result);
5 q, G& B+ d. O) [( d this->reportFinished(); H7 z" J. ` [! @% I6 u
}
5 i( p2 {7 ]% \2 k) N. W* h- c* f T result;4 ^6 l7 ]& f: ^ a; F! h. _
};
8 d( e7 M" C' W" b' {0 B- V# b
; B. a( @' r7 T3 x' b i& ~7 Jtemplate <>
- }/ }3 n( v* I1 T* @- k! ?class RunFunctionTask<void> : public RunFunctionTaskBase<void>, r# P) l6 X8 W$ \; \# m6 w1 b+ O( g* Y' B
{! a0 D5 r8 H/ W5 N% r( r
public:7 T x3 ?! O1 A5 s6 p
void run()
+ U2 A# l1 h' ^9 D8 F! p9 \ _ {
7 G9 \# i: U/ W9 H4 y if (this->isCanceled()) {
/ K0 P$ }) F2 [+ O this->reportFinished();, I$ s( i/ b8 J- o" v
return; O! E* N6 H- `
}% g, g# i$ Z2 b8 k! Y3 @0 a
this->runFunctor();
; a' E+ a. L3 X [" j7 }& J9 g" W this->reportFinished();/ h) J/ G% h0 V
}
. @( [9 P9 c9 [9 k7 W};
. R$ N% k8 N$ e, ?/ w3 ]: I
+ ^7 ?3 H; W: m& W} //namespace QtConcurrent
+ m2 M+ M" a5 @' k$ i9 y* J7 S/ I) p4 R, d3 H( j9 E
#endif //qdoc0 X4 k) t1 O8 x9 Z
, u- ~) N" ^# W. YQT_END_NAMESPACE
6 o; N" k4 o9 F" TQT_END_HEADER
7 n. {& I1 g9 h# S; ?$ v- i& o# \- @+ [* W5 t2 W
#endif // QT_NO_CONCURRENT
1 N# G+ W0 g9 [, ?
7 W7 z: ?. Q9 f% s! E#endif3 R5 b' c' e& j2 B. Q
! j! r8 h# Z" ~" G; L. W
|
|