|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* D2 X) t9 q) v( v3 f0 A1 G/ H/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
0 {0 F1 R# Y1 x' @( [) D- {
5 X" b- s1 f) J! ]这个头文件内容如下:1 R2 q o# j, N0 N$ f9 g9 N$ ?
#ifndef QTCONCURRENT_RUNBASE_H5 M4 r8 Z B. Y1 v
#define QTCONCURRENT_RUNBASE_H9 z5 A2 M4 h) V! `+ t0 i
. Q! G0 K: n( x, o1 p#include <QtCore/qglobal.h>
- H# K6 l/ F/ d( x1 B2 d: k: i9 x/ t; Q' C* v1 U; I
#ifndef QT_NO_CONCURRENT$ T# G3 s* [6 _1 f0 }/ ]; c
# Z& T1 n- ?( n& ^# ^1 }- ~2 f! ]$ V#include <QtCore/qfuture.h>
8 k* U( x( [: W2 X" |& Z6 l" c#include <QtCore/qrunnable.h>
6 E5 L3 f& H8 X1 _" v% k#include <QtCore/qthreadpool.h>' j- W6 S6 J4 X. ?" N8 C
4 \, A- Y; @7 H9 @5 F3 `QT_BEGIN_HEADER! K# v1 d9 T# B) H# p0 s8 z- T
QT_BEGIN_NAMESPACE1 c, Z) d0 f5 s+ {3 l1 H/ u' q
2 y+ C b0 c3 ~7 d6 ]3 h
QT_MODULE(Core)( L) S+ \5 i0 @
7 D% J; @1 E7 A+ V2 V
#ifndef qdoc
7 Q+ m0 u' k. ?7 _
; v/ J' [: n {namespace QtConcurrent {
& w4 L* X$ p" y- s% z2 J" h. r t9 N% Z' O) g. \
template <typename T>
3 `' U3 Q* P! X& O8 k/ y& Estruct SelectSpecialization; {8 u! O2 [9 i" j) z+ z
{# ?5 C: }4 R t7 G- r
template <class Normal, class Void>+ f) N5 V( x' v5 ~/ f. t
struct Type { typedef Normal type; };
* U- @" L, J0 g {& p0 l0 J4 T};0 Q' A9 @2 I F
# {4 |8 R# X5 C2 J! qtemplate <>$ p* I# W- [ x* q* l) Z: @9 @# C: u
struct SelectSpecialization<void>/ Y! s% r, i& Y4 H* o
{
. N7 b3 C# T: L3 \6 W template <class Normal, class Void>5 V, Q4 V, u9 N, f ~% c- |2 X( @
struct Type { typedef Void type; };4 }9 }1 E& |( L$ ^1 _3 z( u
};
0 \" A' \$ i2 V0 v$ U
2 i1 O% | b1 ~- Itemplate <typename T>
( g# Y) n& v* t* Q2 mclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable2 a, B' J( R6 Y* w
{
5 _) m; R; D8 Z, `" \/ W9 Jpublic:/ A; R# M; t- Y g2 ^* ?+ s
QFuture<T> start()3 o; A# g+ `) _6 k% _
{
4 G* O# b2 E4 c; R% g, g this->setRunnable(this);
! Y, x; X! H; R2 J; Z this->reportStarted();" [! j" `. D4 ?" H( I
QFuture<T> future = this->future();: }$ C# V' W+ y9 Q6 O
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
8 A, r6 d& d7 }! n8 @ return future;
; c9 |) z* W+ y9 }, u2 _ }. i$ R9 V$ G6 d' V
" U0 t" h( Z& a. E5 D/ S! z void run() {}1 v" k4 p7 s* V6 r& V% @# [
virtual void runFunctor() = 0;
9 d# r1 x2 l; d) b};
9 M7 R- R( e$ T' v8 j- T4 C, {; j
template <typename T>
0 F! o$ N: s$ b( Vclass RunFunctionTask : public RunFunctionTaskBase<T>
% o0 M) ~6 ^+ a# ?8 D0 U{1 m+ t1 N e& e1 |6 ]: T) ]
public:
% N( w8 l' R" x' G" u) m S) j; K void run()$ }) i6 u7 {" y* j7 T$ R( f* @
{
4 ]; `6 o' i$ J% j4 B. o) a if (this->isCanceled()) {5 T+ o6 |8 P4 J% l8 C; l+ y
this->reportFinished();
# w& m8 o8 R% m9 [1 G' ^$ C return;( s( Z+ L$ g. t `% W
}
: o/ H& D, j# J: e, Y7 a A# P this->runFunctor();
) F0 `' m3 D- Y3 b4 k! ^5 o" p this->reportResult(result);
4 g Z: ]/ z; A; ?' }6 S this->reportFinished();
- d2 w9 ~ f- b/ m }
; [1 q4 Y9 H5 O) q" [ T result;
" I0 o* j0 Y7 t};
8 v# v1 S2 |0 U8 ~! j: C- u A" w/ F) h a, i
template <>8 M$ ?1 D& O* G
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
2 n( h( d) F, E{
?+ ]6 R% o. G# Epublic:% i9 j! n6 C4 _ a7 }: c: O! Y
void run()
% S; F% r3 Q0 H, \ {
/ S! j6 [1 Y$ l! K. I a) y) x if (this->isCanceled()) {9 v9 A5 e1 ]1 X4 N# j3 p
this->reportFinished();: J( @" s! z0 b- w: ?
return;# x/ J3 x, y" G+ P! }. P
}
8 n* p" y+ S; T" @% a this->runFunctor();
2 q: @1 s! F. Z, ?5 S this->reportFinished();
4 B1 R3 {% l7 G. F7 m* N/ k }# X3 o0 n0 ^' V. S/ A T9 O' j
};
+ G- h$ a) K5 X6 Y$ L7 x' q- M: C, z3 o- k6 o0 X% F
} //namespace QtConcurrent. S* p, J. w$ m6 k8 N1 e0 @
0 E) d8 {3 n' |% w/ I- S6 J; B; |#endif //qdoc* q9 \* G- u! a- |/ c
. \: }# `( c" x+ X, T0 B
QT_END_NAMESPACE
5 w0 N1 A- i; X4 b. j$ k1 [" vQT_END_HEADER
( G n* v% [: D* G" k8 R( }2 C& V1 q) B j
#endif // QT_NO_CONCURRENT
: o. j3 {6 C1 t! t$ |7 x
: l3 i0 Q% R% w) x8 i z7 ~#endif% C3 q' H- `4 {6 N* z- @6 b
0 G- g7 |6 @; I* W0 D4 t
|
|