|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
/ m' j4 `2 j. x+ g' M3 h/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 v3 K8 e3 K: H9 i" B
9 Z& [; ^* _* D+ m6 D这个头文件内容如下:' e- P% |* b4 U6 w
#ifndef QTCONCURRENT_RUNBASE_H
1 Y$ p3 |8 w E/ u7 G#define QTCONCURRENT_RUNBASE_H! T9 P( |5 t( b$ F3 X6 W
% y/ X) S$ R2 k [' E3 V$ W) S X
#include <QtCore/qglobal.h>5 K$ q, p; Y) H( Q) m! s% M x( `6 Y
: K( b" G7 z( X" X6 d) T, N#ifndef QT_NO_CONCURRENT1 O& k' g1 w" {+ M C
' i& h. z( j* [. @: W
#include <QtCore/qfuture.h>
0 d! K6 A% l& u- Z# H#include <QtCore/qrunnable.h>* H0 G# G* w8 T( Z* m) z
#include <QtCore/qthreadpool.h>
! C/ ~% R, v# j' R" ?! B, S! q4 i, I8 U" B$ Q" |
QT_BEGIN_HEADER2 \ M+ u, i4 O6 n* T6 o9 a$ P
QT_BEGIN_NAMESPACE" ^) O: _- u" f: @! S6 s% _; h9 C2 k
4 Q1 e& u, e9 ?5 ~QT_MODULE(Core)
1 G8 N' S1 z2 o- _6 Q0 U
, M( Q7 h% P/ ~; F9 }- i `#ifndef qdoc
5 t9 O) o: h7 }& I1 \/ E
: F! h6 d% M |% a/ Ynamespace QtConcurrent {6 C: G$ ]% N' p$ H0 z
& E% ?; U2 ^/ H
template <typename T>% ^1 T4 E2 R, K" F+ t+ N0 Q* P4 t9 H) |
struct SelectSpecialization, L" q+ j: F3 Y' L6 {
{
# F( [) K c4 m: U | template <class Normal, class Void>
0 ]: D4 p( Q, _ b struct Type { typedef Normal type; };
3 o. r( L/ j* | J, x2 r' e};& ~; c- l8 n5 M0 j0 u
6 b0 d) J1 ~, G8 Z
template <>
: C3 Z- l- r' `- Q" b* Vstruct SelectSpecialization<void>
" \- D' q: J1 V, S5 C4 x{& _% H0 C. S5 O4 J1 K: ^
template <class Normal, class Void>
' Q0 F5 F- n5 f: }2 [ struct Type { typedef Void type; };
% C( ], ^5 R) t4 s& P( C};6 S) ^3 \- r/ T" r
# l* Q* b2 z3 C, x8 S' Y& {& X, O/ Y: ?
template <typename T>6 \+ x1 Y) m" J5 E* O
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable) }* J# o, Y1 F# L) H! T5 F
{
8 H2 \* o; N+ M: A7 s% Bpublic:
) O) y6 n. J0 m C QFuture<T> start(). {# E, d$ P2 \' b0 U
{1 i: s. R2 K" g: y
this->setRunnable(this);
, Y# e: m+ @- H+ C this->reportStarted();
! q& J& [" Q' h) k6 p0 Q1 e QFuture<T> future = this->future();
- r- h O5 a# q W) W; E# B/ W( A/ K QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
* w8 h+ l, Q# J' Y- E return future;
2 _2 N/ |: q" P6 G }- Z) p. ~9 J& T, o/ |' e
1 `+ C' |% N" X4 x) J9 u void run() {}
' h- s, R: n; h) N- Q/ } virtual void runFunctor() = 0;
# ], e. `1 g9 `7 g" X; J) c0 V};9 d2 `! a! ?1 ~9 ^" m" l( E( t
9 `9 N# o" f+ H) ctemplate <typename T>
/ m' |: ~4 t9 Y4 T2 J* S% B$ k2 \class RunFunctionTask : public RunFunctionTaskBase<T>2 |' p: I9 s. r& w5 P
{
' Y; G6 g) ?$ d% j- x& {/ j% Spublic:% D# X& W8 x7 a4 J/ d: j3 m% S0 y
void run()* \1 I; I, b; b: K$ M2 D
{
" V$ k6 e: f: N s7 S; H1 k9 O/ p if (this->isCanceled()) {
' f% A' u% @( @5 r8 N6 K this->reportFinished(); B1 `# I5 j+ M& f- B
return;
8 m# d: {6 y) q( a7 K }, w- j- V7 t2 X7 ~; Q! ^4 i
this->runFunctor();
0 I9 D8 H0 Q& g. b( }; `& w this->reportResult(result);
6 Q) x: a9 z6 F8 @. u. A5 d this->reportFinished();
R% u2 X4 M. { ~' E$ w3 A }$ b0 x9 E1 l5 o( e, L7 K
T result;
& W: j7 v5 j0 @- a4 O( D};( K6 N# O [8 F1 x; e9 X
' R4 H$ V3 d" F) N! t. otemplate <>2 G. G+ i1 Z$ N+ R
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
/ R8 c# Q: q- E3 d2 Z{
m3 S1 L# `) i! Z' v c [# Spublic:
( c V' w* g# X+ O4 s void run()2 t: Y a) T" D5 k0 p
{2 K3 q. m5 k$ i) q
if (this->isCanceled()) {* L8 M' m3 Y/ B' W! x
this->reportFinished();! w7 P; a+ U6 v' P+ F/ o
return;
7 w2 T: H7 H( {/ f7 {# d3 f' G3 G }
8 z* f4 W+ D& `/ ?, i) E this->runFunctor();
- [5 R; d+ M+ x6 F/ t) T this->reportFinished();! U, K4 U- o. ]
}- x9 t; e4 @4 M5 g' R
};7 }' D1 \3 F: e7 h/ ]
) y. d0 m. G. {
} //namespace QtConcurrent
! M: H1 {" M; M3 c" I* H# t
+ W+ M$ c! Z: a! ^/ B& _#endif //qdoc
) @- g/ u( a) u& x- m
* Q; m; y0 _4 Z) oQT_END_NAMESPACE5 i$ d/ K* _( N& J+ \
QT_END_HEADER
; A9 K5 ?) ^+ a4 M9 r: @* p H# h/ u
#endif // QT_NO_CONCURRENT6 B( W; e5 p' Z1 T3 k
* K$ b$ g0 A! M8 z
#endif
% A r& w- j; J$ i, G( Y+ T) _( H- C+ e" N8 {' X, t
|
|