|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
% G/ W% O) Y, {" [/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter') r, Q3 Y& {" J: u" o0 f7 U
. j( G% D. G; G" ]1 f这个头文件内容如下:7 x# q, s1 }# u* U
#ifndef QTCONCURRENT_RUNBASE_H
0 W# x! r: P; d, @6 R#define QTCONCURRENT_RUNBASE_H t2 K1 K* L4 J" L6 N! K n
$ }2 v# @) ~* K0 s8 b9 W+ H
#include <QtCore/qglobal.h>
) y+ U. j+ f5 H ^( k1 V3 g8 } i, `+ i! Y5 Q( n8 T
#ifndef QT_NO_CONCURRENT$ D2 X( L* p5 S1 l% c9 w [ h
/ _3 W7 I+ @1 I( r2 _% B% g
#include <QtCore/qfuture.h>
# A, b) U( v+ t$ B; i3 [, I#include <QtCore/qrunnable.h>" A0 ~4 s8 D+ |3 N- Y' q! W, m$ z5 t
#include <QtCore/qthreadpool.h>
' w; ^" z r+ M2 {) m; W, B/ Q" u& [% B8 ^
QT_BEGIN_HEADER
& l8 ^% T1 k6 f* k7 zQT_BEGIN_NAMESPACE
p1 m5 x( m8 }# j. m9 P6 c0 l7 w; j d- w1 I
QT_MODULE(Core); ?4 K1 U$ O- j2 y9 y
4 w. n& d, ?8 s1 R+ k$ S4 L2 P# r+ b( U% U
#ifndef qdoc$ {5 Q, E7 _4 g* l X( T1 [9 J
: o. @- ]* ~2 t0 jnamespace QtConcurrent {+ z: J g5 j- l! i# ~6 m$ Z' N
1 }7 @* l( q: o) A, M' p
template <typename T>
9 F, S: n+ K" Dstruct SelectSpecialization# Y4 K; Z4 v3 @- E# c* _/ Q( I
{
5 H; _$ Q. B! ^ template <class Normal, class Void>3 M; j$ p4 \0 p3 y) m4 G' x8 \5 a
struct Type { typedef Normal type; };
, Q4 d; K" B; ]: x+ Q};( ?$ E+ z4 T* z, i+ e
& w6 \- H/ H1 {6 {template <>9 C. g# P, _. y! z
struct SelectSpecialization<void>
+ g/ @6 n2 W+ l6 P x, o{ t$ e" H. c! I: ?0 H
template <class Normal, class Void>7 |, K% t9 Z0 ~) M
struct Type { typedef Void type; };. w+ j) m, G9 Q1 m! {! H3 f$ y) D
};: T5 L$ l7 t4 V6 E2 N
: Y6 V& L5 ~- r9 o6 n/ h- j
template <typename T> m9 `1 a) \, S4 A) U0 X
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable0 | N: h# `$ V: }! j' }
{
3 a8 E% @+ I: c; T* u/ R8 Mpublic:
6 D7 Z6 r. [2 p {. V QFuture<T> start()( y9 i- U; @& w. G! a5 w/ v, |
{
0 H$ x) u: G. H% _* @2 W this->setRunnable(this); @$ n& j# S5 S# o
this->reportStarted();: G( C3 c) z/ S w
QFuture<T> future = this->future();& s8 E. B4 ]8 Z6 i- l
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
9 l0 F8 i# L( k1 f) ~* P/ M% J$ S( N return future;' d0 g" n; N# B5 K+ H( ~
}
$ z' ]/ S9 s% ]7 O7 K+ @
, T( J4 X4 T" {9 H. S& I void run() {}
: _. n: S: v% l7 |7 ]9 T0 ~. D virtual void runFunctor() = 0;+ a% ]! Y4 q( f u! { E9 L+ W
};4 j' V6 u+ W# N* d1 I5 Z! z
' N! A; E0 T; S3 n* Y' R/ Utemplate <typename T> f- {' x: [5 q4 V7 r5 z0 C0 ~
class RunFunctionTask : public RunFunctionTaskBase<T>
) {* ?5 n* a3 d \* N) j{
" Q' z8 o. t2 H F+ Z% w! ^7 qpublic:: B, X9 ~. m" ~% ~! a3 I8 C; A
void run()! y' f$ K3 t' i( T7 i4 F1 F; |
{/ ~0 L) l: q* r. `( k- O7 }
if (this->isCanceled()) {) k a0 J2 N3 {/ J
this->reportFinished();
" a" L1 _7 V' w, @( x6 W* n1 s+ R return;
. k% b5 r- F5 E9 Z9 {$ G' E }
' c w* r/ J5 u" S4 {$ P' @ this->runFunctor();3 y7 v z: E/ b: u( L
this->reportResult(result);7 o" Q8 o$ A4 k( h, j; s- g
this->reportFinished();
! B4 o# |3 a' U0 |% ?: e }
# E% C; G+ h( A. {: F, i T result;
: w& v0 @( J. D/ v};8 X3 ] s' j- e( I
2 @3 P! P; K$ v' y! Q4 Y9 { K
template <>& N) b! _" \' \' d1 J
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
' y+ N! s, X: l8 \: \2 {5 u9 C{
. A! ?9 j* W/ e: A. @( Q0 v8 u) Tpublic:
. K- f' l) N8 J, U# {. P' r void run()
# L3 ]# I' P; A( g6 Z+ ~( `; X {
' ?; L0 X9 v ~1 F8 W if (this->isCanceled()) {" S! ]: X+ d% E0 u5 r
this->reportFinished();
* |" y! D7 o/ \) [7 \ return;9 Q; T0 i! B4 b9 w9 O& O
}' H" o& ~% G; _0 a# l- G- M
this->runFunctor();
/ G9 S7 E% p3 c5 t( P this->reportFinished();
* Z3 O7 H! B7 |/ A; ?0 {: e# q0 s }
% t$ w! }0 a3 e8 R' g1 V) s};5 ~, K' r: g$ Y8 q
- H# X9 I9 }; q' s+ B
} //namespace QtConcurrent5 G6 T8 `- B6 Y9 Q3 W8 Z8 O
& n3 T$ a; m2 z! p0 b; ?7 y0 h#endif //qdoc
5 G3 A( |6 ]1 d' e" d; ]% L; v _* @# B+ N7 e8 F, I( O
QT_END_NAMESPACE* \$ R! }7 y9 a. P3 Z% N) H: g) A
QT_END_HEADER
# V) M! s# w' O8 R! g, T% _* a6 P; ?
#endif // QT_NO_CONCURRENT
: H6 ?- ~# ~/ D3 Z, E/ A
4 u1 j( r7 @ G6 j9 o#endif
+ H: m& b, c7 h# U( z" a) W2 y5 X z" w F6 N" y6 u. w- K5 o
|
|