|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
6 G p6 |% |, P; M6 n6 o/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'# U4 r% z( t8 f% S3 e. r: T
1 V0 x$ ]% ^9 s这个头文件内容如下:
6 T8 l, d% x9 ~4 d9 g#ifndef QTCONCURRENT_RUNBASE_H; P4 d! P) k5 V8 {: X! Q
#define QTCONCURRENT_RUNBASE_H( P e& l8 Z7 a5 X( Q) D+ G
( F0 R( T6 v& B5 a! d( @#include <QtCore/qglobal.h>
% ~7 T* ^- m* H4 ^7 J: n$ f- g& H1 t( v5 A: q7 V/ k
#ifndef QT_NO_CONCURRENT
$ O6 d2 O0 x9 S$ V5 n/ o4 b# ?& g" x3 F g$ ^$ R: c. }
#include <QtCore/qfuture.h>
/ H( X; a- h+ d K7 \- Z. M#include <QtCore/qrunnable.h>/ e6 X( a. A' z* Y+ F+ x6 d
#include <QtCore/qthreadpool.h>7 z. F n: Z8 c' p5 R; o
7 N/ O. w/ Q5 P) i' p
QT_BEGIN_HEADER
" N" |& D5 s; z7 Q0 M4 S' C# hQT_BEGIN_NAMESPACE1 c( |* y8 E8 V; `. \' d: H
1 f" f1 G7 ?+ }7 FQT_MODULE(Core)# K3 O. x9 t+ R: Y8 U( Q) x- M' _& z3 b# P+ e
/ F1 ^# }# L) `* c' j
#ifndef qdoc/ S+ N! p# g4 r/ q( e0 n5 V
" d4 F+ O; B5 E# I: S" J4 Y- Gnamespace QtConcurrent {' ?- E1 s7 H2 [4 m/ v' x
% x. ]) B- j& \9 t: K
template <typename T>
2 z2 {+ P0 A" R' Q# J" Ostruct SelectSpecialization. W. m2 x- m* I4 B0 S
{9 O) z' s0 l; o7 P; i
template <class Normal, class Void>
) u/ r8 A9 ] w# K+ ~& M% a. N2 o struct Type { typedef Normal type; };
$ Q- U Y: I. j: @% | I};
! `, }6 E9 S% R* `1 L2 [* k! i3 B, e
template <>
) X& v" o, V6 R: Y1 N4 Sstruct SelectSpecialization<void>4 O9 m3 @! d. h8 m
{8 o$ g3 C; i$ T2 V# V( ?# f
template <class Normal, class Void>: `8 {( Y9 v# ?; o4 B
struct Type { typedef Void type; };, u. m4 Q. X+ |5 B+ ~: Q+ E9 C
};
2 s* _' a0 Q$ T1 @" ^7 t: ]" n
" r. S/ b t8 V; H0 V. Ntemplate <typename T>
+ x! h/ t' O) o1 q }' P5 k0 L/ zclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable9 Y2 C3 W7 F w+ h
{
( t3 [) ~9 e9 y/ apublic:+ Z0 @! F" x5 d) }5 V
QFuture<T> start()
4 z. A* x7 \4 T {1 N) K0 `8 L7 p. L1 C
this->setRunnable(this);5 A+ L6 [4 D& w, _: {7 N
this->reportStarted();
; z( W- x7 x2 L [1 a QFuture<T> future = this->future();
& Y# i2 D- [% c; q QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
- ]& ` y/ y! p, r+ F& v4 H* I! R return future;
! r0 F" T" c0 N3 F2 V }4 r$ ?) C3 O) E
# k# u$ k( G* P, H8 q
void run() {}
) W! g$ `5 L* R6 k- M( P3 _! `1 n virtual void runFunctor() = 0;" C' b7 E# }- Z
};8 q$ J0 c6 t' H! n
, ^. E) s$ q! ]+ b9 c
template <typename T>
5 a4 t+ o- ], T2 X/ V2 w2 R8 q2 r, pclass RunFunctionTask : public RunFunctionTaskBase<T>4 i# d _ E# n0 x# i2 A7 X
{
! a2 t' v; E$ X" A, v. V: j: T' Rpublic:
, A; N' E, _8 M6 r7 l void run()
% n) j8 ?0 v7 U' _ {' W: {; P2 K' S6 c& Q
if (this->isCanceled()) {
0 o: C" z/ [' C( N1 I9 C this->reportFinished();
. |9 M& ?7 C9 g3 y return;; @$ b3 t" @6 K V" d, Q
}
9 n7 I2 ^% t; n this->runFunctor();8 s+ B8 H* Z- ]6 [, m
this->reportResult(result);
% e& G! c: H" K9 f$ R this->reportFinished();2 V" _5 F# z& s T% c" h/ ^! g6 f- Y5 m
}
7 e! @, U$ u. Y% c O t# N T result;
& K; J5 ^/ a; }. i3 W m) O};- G( E) h6 ]# Y, m) B g# g
0 J: C" v( W+ [6 g% w5 _6 Ytemplate <>
; a4 s. K" c& J' g- s2 m, ~& oclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
: ]3 i, y* n2 ?* T9 v: i1 h{
% C# N# B$ a- O* [public:
$ t9 D( F/ z( D1 Y) C- R- u3 f; _ void run()
0 n$ T6 N8 t- f* b$ M {
$ B u. k y, ]7 D if (this->isCanceled()) {
- G) @, \: l1 B, b- ]1 q this->reportFinished();5 A' u9 C& n# @( Y# n) k
return;
, f6 O) f( _; F- x' E( x+ _: h- e& _ }
( J0 x% ]/ O r9 A" p8 T: Q this->runFunctor();
' K% L. X, t3 K+ {* V; c7 y this->reportFinished();
4 z7 @) h4 s: F* x }
& \& W, a! R% U" D};
( H) P; ^0 X e) P! ]1 J
# d+ R- O5 @5 `$ O8 M" {) h} //namespace QtConcurrent
1 Y5 y; q, I# I- l4 F. |1 P) j" d8 d
6 a( [, G% Z/ \#endif //qdoc
0 _# w, G5 I( w2 W- w9 g8 L4 I" C5 H' U$ N
QT_END_NAMESPACE# I0 m1 Q) T$ P! l4 p) ~& Y" B
QT_END_HEADER
9 |' F7 a( S5 l% B f$ F6 F. I9 C' R' q G& e3 x
#endif // QT_NO_CONCURRENT
' Q2 B' v5 n4 ^
8 Z6 C( {7 X) v6 }6 d/ g F# @#endif
) A8 I) N1 f! O! P
$ L7 }+ h1 H+ c: i5 w9 q |
|