|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
1 n% \4 d8 f. q) h9 C: M/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 l! T# B# D4 L8 Y- C9 ^2 o2 m( _3 C' B) m7 S" V( {
这个头文件内容如下:1 d$ d- p, s9 }/ X6 y( [2 Q
#ifndef QTCONCURRENT_RUNBASE_H9 D- C+ {% K& b. X; P Y; ~( J
#define QTCONCURRENT_RUNBASE_H7 a4 {6 H' i- w+ \" n
& z. A. S" i6 H1 T; ^$ E1 ?& }#include <QtCore/qglobal.h>
" O+ M6 l3 |, k2 F- L" U/ R! j; m' Q: k9 i( @! v1 n3 I# S
#ifndef QT_NO_CONCURRENT
P2 P) \7 \! Z6 u9 i5 x& R2 Q* ?
1 L2 Z. u; c, {#include <QtCore/qfuture.h>
# O8 e0 }6 P2 ]! T( c% H/ F" z#include <QtCore/qrunnable.h>
8 a- x5 b% b' |; P0 ?#include <QtCore/qthreadpool.h>
/ |6 s2 w+ Z! u; H" t7 m2 J9 ]% [" T1 F) h$ C, ~
QT_BEGIN_HEADER
. \" v g9 {' D' b2 H% \QT_BEGIN_NAMESPACE* }8 d: a. R3 X2 Q3 ^
{" S; x: A( _; G
QT_MODULE(Core)
4 U3 p, ~) t) n
: L' A! O3 i0 M$ F6 |#ifndef qdoc. c, M: Y- w. w* |7 ~
! [7 I- h" p G# a, C* r" y. m
namespace QtConcurrent {2 q" z! S& O' D6 Q/ k
9 } A: i+ d; i% E0 L9 d0 c! dtemplate <typename T>% i5 T$ f7 p( m5 E
struct SelectSpecialization3 d& `7 C0 \: C i$ c9 j6 z
{9 \: e5 n& N9 d' @2 p
template <class Normal, class Void>
0 w! I W) c/ j1 m/ H$ i7 K struct Type { typedef Normal type; };; ^- R- T2 t% i# \; l
};: X3 B: A, _3 E
4 [' v; X: s, H
template <>* O& M) j4 v- P
struct SelectSpecialization<void>
0 l, b6 |7 J2 C2 @- f h: y{
n* \# R& o: X! Z* R6 c- J template <class Normal, class Void>
! t" y* u( Z9 i" Q$ W struct Type { typedef Void type; };
7 [ T( y c3 S0 i9 }2 w; N) z};
8 j3 \& k5 m( N2 ~/ w N
7 c' @% M: `! p) n7 x* |$ i+ {template <typename T>1 D6 {' @+ [/ n/ I
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
7 F |0 d8 h: F, _( Z4 \{3 Q% N8 o/ X# D3 E. [
public:
" ?; H; Q. h1 ]: O' v( F7 y QFuture<T> start()+ y8 h+ F- K) z3 Z8 k: q
{
2 U3 N* N$ U) J8 V$ V* Z% p3 X; }. } this->setRunnable(this);
. v/ l, }" G2 Y" Z this->reportStarted();
; E4 h) B N+ k' V QFuture<T> future = this->future();
4 l3 L% k/ ?2 N QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);* \- V2 j+ d! m2 c" ^5 \, C
return future;
/ ]" I/ F0 } V6 Z1 B }
1 v; p" d- f3 `3 `8 Z/ {8 v
6 \; p1 y5 P* k# A6 V* S void run() {}
$ P) k1 g6 P5 g' K. N virtual void runFunctor() = 0;- W0 [4 D7 e5 B9 L
};
! O7 A9 l, ]7 u( H- g4 D. t6 V+ R. V5 h5 {1 b$ N" T' Z ~
template <typename T>% h: b* |8 `, k( ?- _
class RunFunctionTask : public RunFunctionTaskBase<T>
, d0 Y# Y( K; g+ s( ? R{
4 f& |; i5 ]3 P6 h0 J5 K) ^* K0 bpublic:% v/ Z6 H4 y2 M- ?& {) g' s# A
void run()/ [& o1 w$ A+ M% ?/ W
{7 d6 U1 j: ] q7 E' @
if (this->isCanceled()) {
5 [/ f' m* `' W( \ this->reportFinished();
% a$ i8 N) Z( i6 f4 K1 B return;. x- ?& i9 p. R" s
}3 E# y2 a" u$ J/ W
this->runFunctor();1 o6 h- g& e3 W$ X! K3 G+ L# d4 ~
this->reportResult(result);
9 F& d, v6 g6 ]4 l% `$ A* h3 B this->reportFinished();- I7 E. b- A9 D
}
. |2 ]8 p j5 w T result;4 J: K1 }& f2 q
};
9 V; v* ?9 n v v, ?
; T8 `% q/ l5 x5 v' r {template <>
, M7 A/ ~9 b" Qclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
( }7 y" P, P6 g* j2 P{
. X0 F x T1 i$ Spublic:. N% o" u. T6 u+ S* L2 D
void run()% Y' c" T3 c$ r2 M3 E6 X
{& D! @4 U' b; {; ^7 P$ X) J$ ~
if (this->isCanceled()) {0 q! h" A& ?- c/ [7 W5 k0 v
this->reportFinished();
0 }$ P2 ^' V5 G return;& O( p i6 S! S5 s
}9 l8 F( m3 Z6 x5 W7 l
this->runFunctor();, n6 x2 ]! I1 p7 n, H }; r
this->reportFinished();
' y) [# A0 L1 Q7 M! V }! U* z4 w$ B7 i3 G
};
( j8 k0 b+ M6 H+ N' A& q
5 @2 Z5 O. |5 V2 N- S} //namespace QtConcurrent/ W- {0 Y& u* c( H
: o5 Y/ o) g2 e
#endif //qdoc
- Q$ @1 Y; K X( _0 T$ f& u' t
% L, {+ Q* R: y8 R/ A# zQT_END_NAMESPACE2 p: g$ X" N1 M3 v) m8 p' F6 x
QT_END_HEADER
/ ^( X# I7 [% H! Z5 @/ O4 a
" v% v( B- d, `1 Q3 u#endif // QT_NO_CONCURRENT
' C5 V# T; J) w4 B: |: p$ T+ }, l0 ~2 L
#endif
! Y6 X7 D" i; H9 W, d$ Y. O8 j3 P: H
|
|