|
|
我对syslink进行交叉编译到arm,但是出现如下错误:8 x) R* m+ d0 R, {
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'; P' t0 U. o0 E: P/ n
D' t$ b+ D3 K7 }9 r1 G; f这个头文件内容如下:
& v: w5 ~$ Q7 c+ H8 g$ A#ifndef QTCONCURRENT_RUNBASE_H
$ d. `* o: K6 F+ r; I#define QTCONCURRENT_RUNBASE_H+ V2 ]; t. E: O3 c: ~& \
# {! m" \5 C; `* k0 w( o$ ~, `#include <QtCore/qglobal.h>
, y( w/ U7 L) N/ D5 g7 X& L" j# Y+ c6 S" k" z$ e
#ifndef QT_NO_CONCURRENT
/ U& {: B+ j% {; p+ B# |
; C( F9 Q+ W9 V5 k4 B; S#include <QtCore/qfuture.h>
, B6 e- s. d8 ~6 O) q6 X, `#include <QtCore/qrunnable.h>
' K* f N" `$ V7 g! Q. s! j#include <QtCore/qthreadpool.h>
/ ?' S" V6 e8 a' b- T( s, A$ z6 |$ h. p7 w$ S/ A* @- ~
QT_BEGIN_HEADER
9 S2 X# e4 I% U* }* R+ [+ }QT_BEGIN_NAMESPACE* J8 c- I! G2 g
3 q* W( E9 H# [% O# L/ }* uQT_MODULE(Core)
' q6 e( H3 h6 @: P: J9 ]
) q8 W7 M6 N! {, d/ z1 s- {+ r( P#ifndef qdoc* o5 \2 H2 i I+ C3 d$ \) m
6 h: C% u, J% l/ R( G2 A' _
namespace QtConcurrent {
/ x2 v3 g W+ |4 J4 v; M# a' Y
) l( j& P- s1 j% @0 ftemplate <typename T>8 ?) m% q9 u3 v5 A) f( b
struct SelectSpecialization {) d5 O% i, y1 y0 K' |
{7 `& q$ D- \2 n
template <class Normal, class Void>: q |" N0 g2 L% `+ P
struct Type { typedef Normal type; };
" A$ P6 V. v+ Y/ R$ ~; H6 c/ A};, {( O' l" L% K* ?# p, {, F
6 z4 |7 ^' r. M
template <>
' X, q% N$ x2 p7 E9 [struct SelectSpecialization<void>
; \. g5 p; F) d! x0 s, }' N{' k7 b! c& j4 p) w X, u
template <class Normal, class Void>6 n- d9 Y4 O" K& U4 J
struct Type { typedef Void type; };
2 E6 d9 H" g% c2 g% a2 P};5 [) a5 _* _+ F3 W6 h8 r; Y- `$ W
; f5 {2 `) U5 k0 D0 i$ j( b& }template <typename T>
2 ]6 P& X& N j% c3 \& Cclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable1 v* B5 C* n# b8 J7 I- `$ }8 S
{
7 d1 e, {% ^# b! {4 B3 a6 kpublic:$ @- k) a+ q# }- D7 `
QFuture<T> start()
+ B8 m' j- W0 }) f7 S0 d' b/ t \ {
8 C2 B5 P% ?% p5 ?: E this->setRunnable(this);
+ W/ O U2 [+ O+ |3 F2 b( |4 w5 f this->reportStarted();
7 \) @. u, |" T" K5 o/ j QFuture<T> future = this->future();' u0 |9 X/ W# i+ y6 r* d7 S2 m
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);( t: Z8 o2 [0 S
return future;
: |- a3 V8 j( x" c6 L }
8 ^, S* A- ]& z& G) Y5 C# I% {9 s) R d8 n
void run() {}
% @9 I2 T( ~7 v* ]- g* | virtual void runFunctor() = 0;9 s- r5 s" B7 @9 o& z/ b. O
};
1 y j% Y. I7 q4 x2 B g2 p' r6 I. l' ~, B5 B
template <typename T>
) B1 }1 g; ^1 v3 Mclass RunFunctionTask : public RunFunctionTaskBase<T>% l: I' Z n- ]# p R" x6 n4 p
{
! B" o9 O3 ^* P5 x; B! Zpublic:8 G9 E; [# ^0 B, i
void run()6 V5 X3 i% f, l: k) b- u& }
{
2 S7 \( n+ A4 J/ K# M7 [ if (this->isCanceled()) {; M* h: y6 H' e
this->reportFinished();" H) W1 A6 [# Z$ I/ [3 E. w
return;
4 {$ L! K) w {! |# e$ x: p }
% D! }6 Z( e: \! Q8 e this->runFunctor();* K1 J( e3 @' _1 s- t l
this->reportResult(result);# m6 ~" ?% E; T) n
this->reportFinished();& W6 }( p) r: {& ]
}# q; v+ b% W" @2 [
T result;
! S Q9 |! c A4 m9 \4 b) ?};# K8 W- k+ `2 ]9 f6 Y9 \' c4 V
: R8 ^ l- f: k+ F; H$ u8 ^
template <>; E' s7 s4 w! _. k& L2 Q
class RunFunctionTask<void> : public RunFunctionTaskBase<void>' i' W. a) w' A- w
{
, `) S$ M- p; ?) Y: {8 vpublic:
7 I. `# o2 T. I/ J" G. T: {% A void run()
! N( y0 G. C* c; g& [ {4 s: \! ?$ ~" P& V5 d* B
if (this->isCanceled()) {
/ N& H+ u# O p. N this->reportFinished();+ S* C& v' x Y0 E. K3 j( H
return;+ g0 }9 f9 w+ P, a& s, ]: T7 e8 `* Y0 L% g
}, `* c+ V# ?% _
this->runFunctor();
$ m/ o: s1 w: z' G2 g this->reportFinished();# G$ I( g& }9 Y! Z+ h! |2 M
}8 F& L1 b( P! N* Q& K3 ~
};3 E2 K9 ?" }* o: v0 b b! M9 g
. H! R6 }) ~, ]} //namespace QtConcurrent7 ~, _2 }: K5 b
2 P8 [4 n b8 l
#endif //qdoc
1 N% r5 M/ ^: m- y) v
8 H6 o8 ?; K4 TQT_END_NAMESPACE b( ?& }" q! ^
QT_END_HEADER
8 ?* Z: @+ t9 d( {$ C" v
& m5 x, z3 M# q f5 [+ g% P#endif // QT_NO_CONCURRENT
% V" r, `& M0 y4 f- x f: I1 K% u/ h) D' y! g- v5 U6 ]
#endif
* U/ o! a" x) W9 F( b5 X
$ d3 V" Y! t/ I2 k9 d" o* G6 p- a |
|