|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
6 y( n5 t$ R; L/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'4 ]5 I% ]% ~) Z$ S
" t4 p" [# d' G* P
这个头文件内容如下:
$ f% F- g/ ]: K; Y& R( e#ifndef QTCONCURRENT_RUNBASE_H4 }. j m7 \! m+ ~
#define QTCONCURRENT_RUNBASE_H
' {* i6 W& u% @" P7 s' X' w3 J, e: f( J7 |. Q% s: H
#include <QtCore/qglobal.h>
( V3 k- j6 Y+ [; l5 B0 q: D6 T3 z7 a
#ifndef QT_NO_CONCURRENT
: e# C2 o2 m6 S$ e- S% ]- v3 D* u2 a! |" U9 K$ {
#include <QtCore/qfuture.h># P- m3 o# B7 f, I6 J+ ]- ^$ Y8 h
#include <QtCore/qrunnable.h>% ^# f+ a0 f1 _2 x. A
#include <QtCore/qthreadpool.h>
+ E3 m/ L2 t3 B' V
: G0 Z. v1 V8 I& ^ j' HQT_BEGIN_HEADER
. r: U3 z$ J5 N& D2 z$ VQT_BEGIN_NAMESPACE7 b3 l2 g5 o' a$ U
% m( P. Y z; K' P
QT_MODULE(Core)% a. S0 c9 J W$ x, H3 S
& Y5 `, [6 G$ M" S
#ifndef qdoc% W( z1 Q2 E; h+ Z9 f
& M( {- u- b2 f) V* d6 L* xnamespace QtConcurrent {- ^) ~/ V6 f u S/ ?9 Y
; K9 ^* d* R' Y# @" B3 H, [template <typename T>
) _- L' H$ R) d6 Y* {' istruct SelectSpecialization
9 i/ e( s4 H5 f: g! m) j m$ n{
d% S$ A" U9 T3 l" b0 t+ N8 H" i template <class Normal, class Void>
' r, n9 X% v1 H* o2 d0 }+ j struct Type { typedef Normal type; };( o" G5 W) c& s$ Z! H& M9 _* S
};- B! v2 {' f+ _9 j/ X# o8 b9 I2 p( B7 D; Q
1 h5 {, d1 E& o8 J& c8 s8 m, ktemplate <>- _+ t1 h; ^' c- z) J
struct SelectSpecialization<void>
7 K) c2 F( x6 b% M+ C' z- q4 E{+ Y( G4 q2 U) _; _. p+ z, n
template <class Normal, class Void>- g. z f" J1 b" L* n; {
struct Type { typedef Void type; };
- L; z" Q9 p- J};
& O% z/ C5 b6 O
" k5 p; A0 j7 U( b. g+ e0 {template <typename T> T: _/ P. t0 b) m
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable9 b$ Z8 ?3 t% J! K9 R9 Y
{2 r/ d& F- C/ i, q
public:
$ O) c$ ~: L3 @5 ~" D% d QFuture<T> start()1 w- y l7 c2 v2 N, c) q8 @) v+ |
{; W5 i; ?6 ], h4 T, ~
this->setRunnable(this);
. {! X2 \& e1 h5 `- @ this->reportStarted();0 `8 `9 E, W; \2 g! T
QFuture<T> future = this->future();
6 g( D' `7 B6 n! a QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
8 F) Z8 w8 \0 | return future;
1 A4 A' K" l, f# y3 J( g9 V }
5 x' U c; a& U2 {3 [
) D6 J `- y" t+ `& f( Z void run() {}
# h1 E$ R" i; z& } virtual void runFunctor() = 0;! _) l2 s/ p7 ~8 s
};
. r( Q. L! \1 N7 p; j. w W8 V W1 p/ {. `4 c
template <typename T>4 r6 x4 g4 q) ?% B0 k% I' l
class RunFunctionTask : public RunFunctionTaskBase<T>0 H- w$ [2 n O; \8 c* K
{2 k. q" v/ r; b$ J* v" ^
public:* H8 r2 b' n4 m4 _9 A, i* n4 t, T
void run()3 \6 e5 g- |+ e, }
{
9 @: t x& |6 O# M8 {9 z if (this->isCanceled()) {
0 e7 L! s# A/ O9 E this->reportFinished();/ t: F: R7 ?: [
return; n( I' i, l2 C. s8 z8 ]
}
0 h- p t$ s- O, N- B9 S9 `. _7 v, q this->runFunctor();
0 V8 `8 q! U$ L6 `: a% t& p this->reportResult(result);' ^7 Y3 |; h( | l3 }
this->reportFinished();
& Z! g- z& g' d) @) F- y, j! s! s- a }
9 `4 _6 a g+ ^$ A' P( H- I T result;/ J; S/ Z. G; ^
};( Y) }' N: T& v4 W, c, Z+ s
2 g3 J' f' `' y$ G, e6 c1 E' ctemplate <>
! W8 k3 A3 A/ C& ~class RunFunctionTask<void> : public RunFunctionTaskBase<void>
$ j9 Y4 e! v6 u& A1 Q- @{
0 J; q; J/ c2 N! rpublic:
6 p; o/ ^4 U- I void run()
$ L& v! g0 k% b1 u1 v {4 k) {+ g! Y* Y' R
if (this->isCanceled()) {
8 u( D1 }) {- f8 z9 J4 T this->reportFinished();. O5 |% q1 U6 _0 E
return;, Y7 A8 Y* Q# T% c: z
}0 E' ]4 O( @& e- r" r1 A( S8 f
this->runFunctor();
/ S7 x1 |* R& ^ this->reportFinished();# Z/ ]! F( b& T+ j$ R0 `# j# V
}4 F+ G4 H/ B M4 ]
};
/ U5 t9 o( k4 O) E# u7 r* [' k& X1 S0 `5 [
} //namespace QtConcurrent
) b: O3 D& _( @1 q
5 ]* _( s1 G! B' P#endif //qdoc
. V; K/ J3 ]* X4 O3 ~8 R+ z' f5 I! |/ l7 T+ {9 l
QT_END_NAMESPACE( [9 o1 S( n6 ]
QT_END_HEADER
1 E' [" J5 s/ F1 ?2 |9 f/ |4 d3 N
0 z% n: j6 {. x5 O4 q#endif // QT_NO_CONCURRENT
9 B: r9 s7 S; ?8 U; X, h( m/ e/ [: f/ \( A
#endif; U5 m B0 ^6 }
. G2 ? K5 a- D' ` |
|