|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
: N8 r3 p5 w5 y: T9 A/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'1 a) x0 J% v0 r1 {7 |: v
' T$ |# [ k* P# v. h这个头文件内容如下:' u2 Q, q2 _8 N* R# v( r4 f! ?
#ifndef QTCONCURRENT_RUNBASE_H
U% a2 ?! K: q& X3 [#define QTCONCURRENT_RUNBASE_H Q: f' @ G/ R
; P9 h$ U# p W9 A0 g* S#include <QtCore/qglobal.h>
- a; ?& c y, G4 t
/ Q! u& N4 Z; g6 A8 ?#ifndef QT_NO_CONCURRENT( ^, c e7 }& }% G
5 m7 v+ [. y0 Y- w( L+ `#include <QtCore/qfuture.h>% ~! S7 v, O7 w1 n% A3 _
#include <QtCore/qrunnable.h>6 m* `+ @: k% @& Q$ Y
#include <QtCore/qthreadpool.h>
" P7 S) c1 {9 \* g7 c$ x- J3 y5 E9 K6 e$ P
QT_BEGIN_HEADER6 i6 u; q% F! K# r9 R" P, D
QT_BEGIN_NAMESPACE
" s4 m8 v. ~, {% k% N# ?8 M4 p' t3 S( i& H
QT_MODULE(Core). U: @ U2 J$ i5 r: Z
, v8 }7 W s) ^ E. P( N0 Y
#ifndef qdoc
& ~6 }( L+ R ]3 K4 I4 U& f- c: a. b: t
namespace QtConcurrent {5 f" T# i7 h3 X9 y2 E
) ?3 z: [1 v6 `# v0 w" A" {template <typename T>, z/ l8 A4 T4 r, R1 d3 }8 j4 H
struct SelectSpecialization( ^/ F$ c9 C% L# p- N9 j
{- i& A) s7 `7 u7 m/ p! x" [8 B
template <class Normal, class Void>" P1 C9 L* a7 \$ U7 s
struct Type { typedef Normal type; };
! I' P7 U# K8 Q};
- ? E& d( a+ r0 @1 z% Z
* h# C. T4 {9 ~! {4 L% @template <>
, |! F Y( ~( ?* b* {$ T" _struct SelectSpecialization<void>
- T, j6 R3 `6 v{6 C" n/ J" K4 y7 i: ?" f& L# J. g
template <class Normal, class Void>
$ t8 u7 u3 ]- [$ K$ w struct Type { typedef Void type; };% R( T6 s& Y0 \$ |0 B
};
/ T* u) v, b1 z9 M# v1 g0 {, {+ A$ G
template <typename T>3 E' J# d# Q* m' [! `* p
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable* Q/ r( S) D0 P
{8 t" h" H0 g7 q% s7 F
public:
/ p6 ^# c$ D5 u3 M5 E& Z. K QFuture<T> start()
" j3 @) V$ w/ E( L& ]/ U {* i/ \" N2 I7 B+ Z3 j/ y) Y% h; `$ [
this->setRunnable(this);# Y+ C( r* q: V" R1 P3 m6 ]9 z( E5 n1 [
this->reportStarted();
! f% h q& w+ ^# P2 ?$ ` QFuture<T> future = this->future();
9 o5 V5 d/ I/ f) T* f$ D" v QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);0 b) D, P1 f' Q. N; c* M) J
return future;3 M0 q" x" v+ m" _; _) n) A
}
( R1 O# S% V9 J4 u( x* Z/ D- n, H" B, X6 S9 k+ l
void run() {}$ ~! V! I/ Z( w$ b: ]! g7 N$ C
virtual void runFunctor() = 0;
) `5 x, M8 h) m0 @: F" _! g6 ^! l+ W& R};
+ M( J+ i q+ l7 k S- x+ V4 j! n+ ?) j: g9 P% X
template <typename T>* ~. |, i6 \; J* _3 m6 k
class RunFunctionTask : public RunFunctionTaskBase<T>
r1 h: f, s" O{
. r/ n( y' \5 B0 o# Mpublic:8 L( ?$ l& Y: x, Y) Y+ F; P2 Z
void run()
8 r1 ~6 H( Q9 n0 c% o8 s4 H {* g+ N) _2 L9 M/ T$ q0 a
if (this->isCanceled()) {
: u: B) S* h6 W7 H3 M! \0 O$ b this->reportFinished();
, s- U9 x) G! i3 u return;
' u8 o6 d* K$ d8 W' _ }3 [0 L; r" @! s% |7 _- K6 o0 V
this->runFunctor();4 |, M' _$ ^* S2 q
this->reportResult(result);. l- T# J3 h3 A) o5 T5 Y
this->reportFinished();9 T( d/ P% P( |+ J
}' Q+ W2 R+ V9 @' h8 D& {: ~$ S, I
T result;
0 k$ j, e" R; N. h};5 z3 C! ~) v$ r% D. X2 S
9 ]# U) ~: ]( ~, E0 g2 Etemplate <>
4 Y- l( m3 X& _class RunFunctionTask<void> : public RunFunctionTaskBase<void>% p" x. p9 Q. u$ w. b
{; z2 O" j+ s/ H6 L; s
public:
- Q- G" c6 ~& ^/ a9 p0 @- Z void run()- A% g6 X8 Q1 r; s
{: P' H% u6 g3 o! p
if (this->isCanceled()) {
5 p$ s# N/ C( s* Z0 g$ z9 |5 O- |" d this->reportFinished();
. c6 g7 g( e& e/ m X1 i0 p+ E return;
# c% U0 w) y1 ~9 }) n6 `: x6 Q }
" A3 O1 n( }- {6 S8 n* c& ? this->runFunctor();1 Y( U. ^; L0 Q J, m; c* _- w( d
this->reportFinished();
* ~0 T4 [6 V) |0 @7 N7 K0 z3 V }
/ K5 ~$ m; O: M. ?+ b};
% W( j9 |5 P6 i
# l+ ]& R. Y$ D+ p9 L0 R5 R} //namespace QtConcurrent
% T: C" F3 K1 k( d9 M, s4 ?( l# _# d2 I
#endif //qdoc1 }* ~9 J( @2 K9 m4 n
; s. P$ D/ r& h6 }5 ?
QT_END_NAMESPACE
% e, `. Q. E$ U" z( O6 WQT_END_HEADER) I. ^9 M* B# k' J2 @6 j7 k
3 Q. p" i! p/ M g#endif // QT_NO_CONCURRENT
9 a% d. E) Q1 P- N, W+ T0 p7 v: A3 j4 k5 }
#endif$ D+ }8 w+ w" g& F7 V7 C
G$ E0 u% ~ w. J5 y
|
|