|
我对syslink进行交叉编译到arm,但是出现如下错误:$ \# l8 G$ O9 X9 b
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'+ u3 H _7 _4 r e
; M# s% k5 V$ l5 ?这个头文件内容如下:
5 w! x* Q, t5 T3 g v#ifndef QTCONCURRENT_RUNBASE_H
$ b0 m5 R' J1 |% [ c1 E3 Y/ g4 M#define QTCONCURRENT_RUNBASE_H; y3 i3 r0 c1 r" R% A( Q
& m j+ _! N- J) L5 S#include <QtCore/qglobal.h>8 Y7 h4 r. d. c# ?5 \
! u( u$ e; U$ f. T& f: C: ~#ifndef QT_NO_CONCURRENT
' A; X/ a9 L0 `, m, _% J
/ x9 H9 C7 @* k2 T#include <QtCore/qfuture.h>
4 T1 ?- t% o( h* r, V8 m#include <QtCore/qrunnable.h>" F0 L* R1 K8 y
#include <QtCore/qthreadpool.h>: U5 {. `7 I2 r8 Y9 [% D W
5 N: k- {, e6 a5 d% a% RQT_BEGIN_HEADER/ A, `. J" f: D+ h2 D6 [6 C" E
QT_BEGIN_NAMESPACE
# v* u& V3 ^& }% h4 E( D) `) ?/ ~0 M" _/ b
QT_MODULE(Core)1 X% e) w' h; p S' O3 ~& p ]
" J( ^5 ~+ w3 l1 I#ifndef qdoc
: F, v: p* X& }3 k& w- i: i+ n% F7 I0 s( D+ q
namespace QtConcurrent {% B6 f. K* {1 }2 c
3 C* v; E' W1 v3 C! ?template <typename T>
2 ]: D4 Q7 s! X5 i$ g2 @( fstruct SelectSpecialization
7 a: H) n+ s- c- ^{5 ]5 R) L5 E7 G) |# z7 w8 H6 _+ U
template <class Normal, class Void>
- ?1 Z4 R/ r! F# A6 Q struct Type { typedef Normal type; };8 Y4 G* M0 X V) D! }& y, H% m
};% j$ N3 Q; ~ _
8 ^/ y8 r' q6 G# o7 jtemplate <>0 \ \" m$ C1 ?; R Q) Y# h
struct SelectSpecialization<void>' L$ ~9 a! m( k
{
* |8 Z. Z; |9 a4 Y0 s template <class Normal, class Void>
7 `5 t, q/ ?2 A/ w0 Z( r& q struct Type { typedef Void type; };% X9 t3 D* V) B; @& M% }; p
};+ n( n5 J, ?" g# r$ Z
. |; H Q' c8 W% L$ _template <typename T>- q+ D. `6 W- U' b1 a2 C
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
& i: {! y0 u) `6 P6 K0 F+ O% `7 d{3 n: x* _: c# r6 V0 F
public:0 {- x- v) H, P- [9 ^
QFuture<T> start()/ V3 t/ ]8 p, M3 R- s- T( S
{
9 B2 x# Y- `& z8 c/ L this->setRunnable(this);
% H& O9 O5 c1 c this->reportStarted();4 G) l& F, l9 I! W1 b ^3 C, R
QFuture<T> future = this->future();' z/ j# b1 }+ F( ^0 M4 D
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);* v# O6 R& {% G; ~% ], r
return future;* x- T4 } E3 m" W1 P
}* T3 a7 o3 Y" o$ b
3 w' d4 Q! ?* p, \
void run() {}
: f% T% Z# n6 }$ y0 _* h, j! `1 V2 o. ~ virtual void runFunctor() = 0;
( Q) V% [& {! G! m6 ?# j};. T! G( x9 W6 E4 S6 c* \. Y
( J! r8 m/ p: r$ M' H3 s/ m- T
template <typename T>
& C/ D( u: @' Q% M$ uclass RunFunctionTask : public RunFunctionTaskBase<T>
`# x: I$ s @) ?) o{ L+ }1 i# O" v7 Q
public:: |6 w7 u3 k$ L) o7 _5 c1 Y
void run()$ y3 g* r' V) e( v+ F8 E
{
# ?$ @, Q( b/ V' h" V0 @ if (this->isCanceled()) {- \4 w/ M5 c7 z' L/ o% `7 B
this->reportFinished();
+ x1 Y6 l! K! h- M& y; r return;
, s, O" G7 K$ b7 G( o }! ~* U4 K- A" `( r, e
this->runFunctor();
) Q [8 g: n/ b3 N4 J) x# L this->reportResult(result);1 E; a1 e* E6 B; n
this->reportFinished();
- Y8 @5 m+ A) z$ X, L- t- | }
+ x$ U6 {4 Y6 \5 l+ `/ p$ M T result; c, ?9 X% ?# q- {+ z3 B0 X
};% f, s- j0 g8 X: h7 c) p0 X
( w8 l( g* [# ?4 V% d
template <>
" L& m/ n8 F0 Yclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
0 p3 K# c) P4 k8 j% x{
. N' W6 R) M( e8 m7 `public:% W! M- e$ |2 f* s1 Z
void run()
1 a4 [* p1 n2 L" ]/ U! m2 @# U {3 i( y! _& @ V" f
if (this->isCanceled()) {
}4 g5 e: b' f2 h; | this->reportFinished();
7 ]& Y! i- X6 b! L0 p) N return;
3 D8 C: \( b4 T- S7 s0 f }
1 Y$ D9 S8 i/ | o: C this->runFunctor();. D. s' F! m3 b4 u& T( D
this->reportFinished();, K0 D$ _; Z. N
}& @; l) X. L/ e1 g0 ~/ g
};
5 V& D+ x1 h: ~& c4 V9 e A
' ^% H% @8 `# K, d2 J! M} //namespace QtConcurrent9 [* a- D7 r2 W" f% F
' x3 R( g0 A: u5 p" M8 S! K* l#endif //qdoc; B+ M; v& W5 i/ k" \( t
5 M; n: b# n, r' ^' I
QT_END_NAMESPACE
+ g3 ~4 J7 _; u6 v# ?, sQT_END_HEADER
$ _" B, O7 Y8 Y; I: w6 D, X- n% ~ m7 p* ~- R# s; @7 }# j5 W' i
#endif // QT_NO_CONCURRENT
9 {1 F4 Q/ j% M2 o* p$ v
! m8 c1 m. E% t* q& N#endif4 R& q3 U1 @2 W# ?
1 o! _1 Y* w2 @3 X. h+ O
|
|