|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
" V* N1 R4 d, Z" z3 ]0 L2 X+ i/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 x# N( l8 V& I7 p' U* c
+ j' I4 X9 D- T7 Z+ @7 i这个头文件内容如下:
K3 z/ a. }6 r1 [8 u#ifndef QTCONCURRENT_RUNBASE_H$ g3 w8 O) H6 ^3 N6 g$ W4 Y; v% h/ h
#define QTCONCURRENT_RUNBASE_H
, q" _, V6 D4 A4 S& r$ v, U6 q9 b- P" A2 X0 {; y! a
#include <QtCore/qglobal.h>- z0 E4 i, H: e x7 t" I
3 t: w% i" ~# z' v+ x- Z( k
#ifndef QT_NO_CONCURRENT! i3 U4 ]7 v# n$ V2 M0 i# w) N
0 N1 p% I: A* A; O#include <QtCore/qfuture.h>* K( ]6 Y9 X4 g0 r6 F B
#include <QtCore/qrunnable.h>
% B6 x& y$ A3 a+ s$ N5 f/ m#include <QtCore/qthreadpool.h>
( K% |3 d( E1 W- g! J/ _- H% L' o8 @6 H( G+ I
QT_BEGIN_HEADER; N* z) x7 j, n6 m& s; c
QT_BEGIN_NAMESPACE o% T: k8 X! N ~& C& ~
% {( z1 i) ?4 Q$ M
QT_MODULE(Core)
: f; {0 `4 r. s0 B7 |/ t2 Q4 U' E+ x& ^% y7 {7 M+ b* x& S
#ifndef qdoc
8 j+ x% T3 _' G
0 i% \: _' g1 n" }' D T2 _namespace QtConcurrent {
) `, c6 T7 P# w; L& V1 g" h& d4 k6 M+ [. C" h a
template <typename T>
* P& w, B7 R( F$ U% vstruct SelectSpecialization1 u h+ Z0 y2 q0 t
{
1 ~: m2 e/ k( X, i0 b- L+ Y template <class Normal, class Void>$ b. B, s$ I3 [* J) l
struct Type { typedef Normal type; };- z) P+ I: L8 U0 @ R
};. H- M! P9 E3 x4 h1 C6 n
' N: {7 t8 R v0 c7 z2 Ptemplate <>
6 k) C+ ~3 l+ R+ O0 j% M3 `: \, Hstruct SelectSpecialization<void>9 p% K/ v: _* y5 N {3 J
{- J" s) k! R* ?* \6 |7 O" _$ ?5 _5 n
template <class Normal, class Void>. i2 K& N9 x) {9 g) D( `
struct Type { typedef Void type; };0 o F- W2 j6 p t5 \2 ?3 j1 |5 `
};
: Z7 I9 F& I. _2 O: L( o
7 U' k1 D c+ b. L6 Z4 O; |4 J6 w$ Ctemplate <typename T>7 M+ q" N0 o3 w% n+ u: B
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
7 Z: x+ f3 T4 Y& |/ j1 `{
/ d( o" Y. R' L( ?5 e5 ~2 ~1 G2 xpublic:' F3 l3 c- Q# w2 `( \/ G) }
QFuture<T> start()
! x/ o7 q7 m4 x9 s8 J9 z7 x! z" J {; ]/ k3 Y% @3 P( F6 l! }
this->setRunnable(this);" C! E* ?/ g6 M; Y1 e4 r
this->reportStarted();
2 Z5 m, C0 k$ u$ s* \ QFuture<T> future = this->future();
! R& ]" M4 l, c0 p, i4 j1 n QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
+ z; R3 u; `) Q' |5 s9 e return future;
( Z/ a+ y! {1 f }
5 T T) y+ W8 p- ?" M: U/ a
5 D, m4 t# ?. V, {% I1 x void run() {}
/ R a! z, s3 A5 Y6 H/ S" X virtual void runFunctor() = 0;# t0 @% X* x4 G' C1 t3 U
};( D4 s+ _9 F* G, U# s) H: n+ |
( }+ J8 F& A& a
template <typename T>) n' I: a1 H3 C4 l
class RunFunctionTask : public RunFunctionTaskBase<T>- P1 I- k4 B+ e3 Y P7 h6 S
{/ R( d g5 H ?- g I# W& N W) g9 Z
public:
! W$ m, b& o" Y7 ?; I: h void run()3 H7 w2 {; ]+ L1 O$ |
{4 b. e$ {; B( p `
if (this->isCanceled()) {
6 ~7 n6 l1 q% M; E- @1 v$ A this->reportFinished(); f8 Q6 Z0 W, f7 D
return;
6 e3 d7 c9 W( `9 [' B$ P- M }
5 w7 A- [& P- ]3 ~/ R i5 c this->runFunctor();2 g) x, F8 y% S1 `
this->reportResult(result);
; J5 r7 R! ^% K, ~# D0 a* p6 P this->reportFinished();+ p: m9 \/ u0 O8 g1 {* D
}
( W" b* j9 C2 K2 c. f$ l# q! I T result;
+ U- j& ?4 S' z5 I};/ V. p7 {0 j, p/ _: J9 v4 ~% S4 v
7 L" q# {# b6 [# B' jtemplate <>. A9 `' Y( M" _, E
class RunFunctionTask<void> : public RunFunctionTaskBase<void>2 a" h1 l! a @2 a2 f
{' {$ B/ r7 i4 k; r4 a) d
public:
/ q. p' Y& y( z void run()( D$ w* z6 l+ j1 J
{9 J5 C: @% F. Q2 k% l# x t
if (this->isCanceled()) {. b8 k$ [; E7 x4 N2 k8 r
this->reportFinished();' e9 {0 v- T6 C$ c
return;7 H, E! \0 G1 v4 r0 g1 |- ]! H
}
" }9 g' h; E) ]3 m% q this->runFunctor();
" K0 p9 I: ~+ ^- ]; l this->reportFinished();
& G4 C D$ ~! J, C5 _4 J1 r, O }' \. Y4 G4 W& _' z1 y" h
};! j6 _ j, U" U7 k) y/ `: Q7 T1 i/ G
* s) ^; J" S' M1 _8 F; U2 E3 Y
} //namespace QtConcurrent
# V9 I) B6 e: t
; k0 `! g g* ?- L4 P3 a" R#endif //qdoc
6 Z! _( c) F/ q' p8 V+ Q% M3 P. Q, l9 l
QT_END_NAMESPACE
9 `5 e% b3 h8 @: C7 U1 sQT_END_HEADER
. f' G y' _; ^+ t8 v( _* a# U, G4 C& @- a: B
#endif // QT_NO_CONCURRENT$ l& L9 c# _* a* ~9 ?
" _* }, I1 a5 l9 B0 @; n#endif; u( p8 H8 r# [7 U1 q4 b; A
8 g V0 X% n2 K/ `( \" f' b
|
|