|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
' j. S8 N C$ `) Q' A* x$ c$ v/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'" _; q/ G, d, s, I% V, P
: j; T% l3 Q* r8 U3 M' R' J这个头文件内容如下:
6 o/ ]& ?3 ?* q3 o M#ifndef QTCONCURRENT_RUNBASE_H
1 I& h0 H+ j' _7 m" X6 Y: ]#define QTCONCURRENT_RUNBASE_H7 \: z3 G' g/ q" F- |
( p6 s. G% {! q R/ Z6 J
#include <QtCore/qglobal.h>
; C/ J* q1 s, I) w8 A& N7 c. N9 {3 j: G
#ifndef QT_NO_CONCURRENT. K* f5 P J/ x" L( K4 Q( x
' E+ b- y/ a) Q/ O
#include <QtCore/qfuture.h>3 X% }& C& P# L2 u( w2 |
#include <QtCore/qrunnable.h>
. g7 ~" c0 X- @$ g#include <QtCore/qthreadpool.h>3 N0 n5 u9 {* d/ V( m/ f2 j2 ~" x( k
, V2 B; ]5 C4 H& F2 s b3 L
QT_BEGIN_HEADER
( H$ g4 W# `/ t2 K) cQT_BEGIN_NAMESPACE% V9 v2 t! b* L$ j
+ y4 e# j _7 I$ b. [QT_MODULE(Core)% L$ D3 x& c& p9 ~
$ B& i+ A5 Z* K/ i
#ifndef qdoc4 ?5 d& ?. w. t$ j
$ P M% n& U0 A0 C+ ]7 p
namespace QtConcurrent {* X, E) h& z! F \7 R% `
# A3 Y; h1 J9 n. k Ntemplate <typename T>* n$ O, c1 w) K K( E8 M1 {2 \
struct SelectSpecialization' c& f/ D1 k$ ?0 e$ O& `0 d8 D
{
- a3 C' Y# `' |4 b template <class Normal, class Void>& F+ r% l5 i# ~/ D) f' C0 l
struct Type { typedef Normal type; };
$ J s9 F) q, h( ~0 I5 M( P};( K" F& o1 o; M* u
2 x8 w3 c9 z9 J8 _% T2 f9 vtemplate <>
9 R7 K2 o2 q3 }% @7 Zstruct SelectSpecialization<void>
5 {* G8 [7 B1 |5 {2 b/ n{3 _( q- ^& V7 }, [( t3 ]
template <class Normal, class Void>
, j+ k3 i! y, e* ^$ [/ A+ e struct Type { typedef Void type; };
+ A7 f- _! ~- u};, s8 m b8 G3 ~ m& W+ J" |
2 L% G- n4 C1 Q/ X$ k
template <typename T>* S+ g8 I) C$ K, v" A
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable- c/ S0 c3 \. d' ~
{( V h {+ X: | G, @
public:6 i0 } w0 [( W) S2 _) Z3 C h
QFuture<T> start()
) b. X5 E* R4 u8 L {; X/ q' x" |6 I8 N- Q: V7 d% C2 e
this->setRunnable(this);
/ A A6 @7 a! G2 x9 D this->reportStarted();
5 J% D, T$ H3 T QFuture<T> future = this->future();6 O2 `$ A5 o) ^! q9 i* T1 P
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);6 `$ X0 L! c, h7 x6 {3 m
return future;' y& D% A) }( `" ?1 M2 E/ U9 O
}
" u" j, Z+ q. x# j* z4 E- ?, P* Q7 F0 \, p2 J2 O
void run() {}
, L$ E1 c ]( k9 n* o4 D' p$ o' T& j virtual void runFunctor() = 0;. c" t" V1 y! e$ R
};; r, Z& D* P4 K' Z) T( A
- a7 g Q1 V" D" H; L4 ltemplate <typename T>/ w' x1 M, x$ [
class RunFunctionTask : public RunFunctionTaskBase<T>5 D& |: r# l( Z% y* S- X0 J9 A
{2 m4 {5 I; x( ^8 C( \3 |! ]
public:- y2 E8 i4 V- b1 \$ r1 _
void run()
. V* Q' v1 Y c( f" Z {2 A1 r4 X& v. T* B, B
if (this->isCanceled()) {( x: c. Q8 E" g5 E5 Y
this->reportFinished();1 o' p+ {6 c n' G
return;
+ y- E& y) u7 g1 f! } }
5 T5 B' D6 u! l; n+ ^7 p this->runFunctor();: W$ [1 h M$ d0 E2 h$ U6 x- e
this->reportResult(result);
" t& z' |" c- i% g$ F [ this->reportFinished();7 @/ n0 E+ \$ |; z3 v) l. p
}/ E+ K+ h* M8 ] F4 V; f
T result;6 L) w7 a( r+ s9 Q$ B# B
};) q X& a/ q# v6 m& O
% k* z; A; K. ]6 |1 v1 xtemplate <>. ^5 }9 Y5 k4 |6 T2 y1 K3 ]
class RunFunctionTask<void> : public RunFunctionTaskBase<void>" E3 R# _" y" P1 Q0 f
{* {) f5 W/ o/ {8 u( I
public:
! g7 q9 R4 H! v8 ^" i! A1 w L void run()
; P4 `" O5 S, u2 G {
) p) K7 Z: O% r+ h if (this->isCanceled()) {) j+ H+ Z, M: s. E& e
this->reportFinished();
/ W" ^* b; X8 W% `# K return;) q# L5 p k; d1 q- F b
}
: v% V- b% q0 M5 M this->runFunctor();& A! V; e d9 m' i' f. Q
this->reportFinished();( i( c) Y9 Z) ^' y' k% x
}: b' m6 ]. @" T, l+ o
};7 ^6 u- M9 x( }- t. a; i
+ ^3 P8 ^& [0 l5 f& B; B- U0 B
} //namespace QtConcurrent
) z( \/ X0 _6 _- w3 i4 d/ D3 @! l5 i8 r8 ~) z7 H! Q: c9 R
#endif //qdoc G y) b K+ j$ e9 }, U. O
0 t# |% Y9 q! C; D
QT_END_NAMESPACE
/ C' J( x' M3 h& t: N, ?QT_END_HEADER
Z1 W2 ]1 {0 @: S/ H' B7 M( I& X4 H; R' @& Z) k' k! L5 \+ Q) ]3 c
#endif // QT_NO_CONCURRENT1 W) H/ t6 `- s* K5 X
- z% c2 s7 N. s, p! d* p7 b
#endif
4 y/ R: l# A6 g$ Y% z! b5 L& L% @$ B5 J* A; _
|
|