|
|
我对syslink进行交叉编译到arm,但是出现如下错误:3 ]/ w1 O% Z' `) y6 [6 G& I8 a* J
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
9 K" O% ?9 E% z3 u9 ?5 P: M( L: f! `
) X: U2 a4 I3 W这个头文件内容如下:
; R% @- W0 Q% X4 ^- u#ifndef QTCONCURRENT_RUNBASE_H
* X: Z4 w a T' w" R#define QTCONCURRENT_RUNBASE_H
( q: ?+ `0 L- g' W+ @4 `
$ |" z3 n# c, I% `' \6 V#include <QtCore/qglobal.h>( b+ Y1 X* {! D$ I$ {
5 l j! Y. [8 G" D% h( L; ~/ z
#ifndef QT_NO_CONCURRENT
* M3 j- z5 W$ e! n" \8 I9 p1 o3 q% B% f* j7 V
#include <QtCore/qfuture.h>* e7 @+ l$ S% f2 b3 a2 `1 P9 Z
#include <QtCore/qrunnable.h>, k" t* h j9 O* K
#include <QtCore/qthreadpool.h>* ^7 ]) L. ~/ H4 D/ W! `* J
4 |! k8 ~4 v- M1 h+ q9 Q
QT_BEGIN_HEADER
- _6 u! Q3 P7 i& g0 LQT_BEGIN_NAMESPACE4 \/ _2 J/ r) x5 i0 W% H
, ~" g3 p6 E5 ^QT_MODULE(Core)2 b7 b3 N6 U0 N' f- X, ?
6 |- t6 c3 I9 ?7 p# j* J
#ifndef qdoc
! J S( P9 H8 j- n8 s( D
) q& z0 _, `4 N) m1 w0 Vnamespace QtConcurrent {
2 Z. Z% C p7 p
8 S5 _' G5 K; }' ltemplate <typename T>/ g5 s( t% M' ~0 X2 t c
struct SelectSpecialization
, c; t/ p" E0 K{: m7 `' B- J1 O8 z
template <class Normal, class Void>
0 j6 g$ a! E0 @! F, o `2 v( L struct Type { typedef Normal type; };% T. U0 ?, X8 ~$ r* E
}; j: \! q- Y! M# S- n4 u. C
5 d! y1 |2 a; ptemplate <>4 }5 j( c1 I4 ~& a) S8 ?: `$ J3 ]
struct SelectSpecialization<void>
, B4 k V6 Y7 ~+ _{
2 D, ~" p4 x. w' C) r- x template <class Normal, class Void>. n; h1 J/ ]; {2 O& V
struct Type { typedef Void type; };" q1 w' U* O* [0 m- [
}; ?* x; g" Q! f* q6 a9 a
H! Z+ m* f; N7 s. otemplate <typename T>- w8 |. @- N% J! Z! g# V
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable' ?/ G/ w) q# }& f7 m& x: @, O
{$ m, }/ C3 H+ G' A' [ ^! B6 p
public: a" t' s8 W; S
QFuture<T> start()7 S8 T3 p' ^% `) z
{1 I/ E! F% E* z, ? X
this->setRunnable(this);
" r% ~2 k: b0 K1 P this->reportStarted();! W* O% F. m3 d% n
QFuture<T> future = this->future();5 X1 A+ g+ e# B* Y" m: T
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
( O6 A# C! a9 \ F( X* w& l1 @ return future;
. C" R3 d0 B, K0 \2 M3 ]5 m" S# @' P }
# i- W+ V- M! @; R1 H4 p
* M! e5 A8 O0 v. N: g void run() {}
@4 T+ f Y) M) V% Z; l8 I virtual void runFunctor() = 0;1 O/ ~% a- P$ n- x. m: N Y( f
};
. R( l* E5 ]- I' o! F- W
! _9 [* B' |; O! e: _6 rtemplate <typename T>9 B. B4 T1 A; A* f& R- v
class RunFunctionTask : public RunFunctionTaskBase<T>1 ]4 e1 C3 z6 b# S
{& ^; h4 |* B8 A; r5 s9 V, [
public:
. Q% X9 S8 l; m% `( |/ v void run()
5 H. y' J3 h; W$ q2 f {7 _2 F5 x6 v6 n* e( V
if (this->isCanceled()) {6 z: \. Q9 ~. q* @' h
this->reportFinished();
) L" i5 q t& {" [4 _ return;
6 r* s; y, B, ]8 U H. j }9 p6 I* H: T3 w/ d K5 N
this->runFunctor();
; W0 ^# x, `0 T) \# Z this->reportResult(result);
1 ?( c: G5 W3 R this->reportFinished();! G& o2 N) i$ ^; d
}
( I. T5 `" a( S) R% Y T result;
, Y0 p4 g6 u# c8 M- W};
, m( H/ h. b2 b U: j1 h( @! D
5 M3 O. C2 x$ Z& A7 M# \! l( Jtemplate <>
7 x, c0 E* X$ F9 I1 @class RunFunctionTask<void> : public RunFunctionTaskBase<void>6 E5 x; v0 S; Q3 V5 o; m' ~5 U
{
) w: [+ x$ D" Spublic:
* L. F% Q, B2 N8 `1 y void run()0 N: y$ G1 W/ i
{
2 J# K* M: R) l if (this->isCanceled()) {! D' ?! N' T: t, } }" `
this->reportFinished();
4 n9 z! M, p; ^1 q- {* u$ r% j: ` return;/ b3 e$ [$ Y. ?7 l& F
}
6 D- L# m4 u- f w this->runFunctor();5 E0 s B% g" ^$ Q& h
this->reportFinished();) H& x% x @# M8 v
}. _+ p+ J' P: U9 ]0 W6 }+ e
};7 v; ]' d9 b* x8 |7 a* ^: g, Y
4 K& _& m; {( l4 w1 w( ?
} //namespace QtConcurrent' I* Y& \* K' l$ L* W
1 C( f: Y6 n3 c#endif //qdoc
1 }/ J) s' I) r, f/ M4 t4 {( U* g: j/ ]4 ^3 m. L8 _
QT_END_NAMESPACE( X, ~3 J, F) A% N, e" P
QT_END_HEADER
* i( u* @' _$ E i n( [! \0 j3 E9 i1 Z7 r2 [& x3 Y, O: M
#endif // QT_NO_CONCURRENT" D. X$ V; I( V0 l, A2 f- ]
: J$ u$ z8 A) u/ o
#endif( `" ], `1 E6 P0 G' S$ F
5 a; b7 U4 ^1 J m( }4 Q' U# a2 o7 O
|
|