|
|
我对syslink进行交叉编译到arm,但是出现如下错误:% r# Q* {. y- h9 j! n7 x6 [
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'6 B/ i! A0 E4 d9 ]- s
* f' P6 [, T) H @ K这个头文件内容如下:; c% ?. Y% p$ f
#ifndef QTCONCURRENT_RUNBASE_H2 R5 W9 w/ i% O! y2 v
#define QTCONCURRENT_RUNBASE_H; c8 y+ ~2 d J
0 ^& T- b/ e+ L0 m, g#include <QtCore/qglobal.h>
9 C0 C$ W' d, b" w9 g$ C: F( |' Y! U; t6 K* B' b R
#ifndef QT_NO_CONCURRENT
9 r4 H' I1 W# ]( v N) \2 O$ _" v- G+ C1 i" @
#include <QtCore/qfuture.h>
* L5 d3 D' O1 O C( O d9 k# r! F#include <QtCore/qrunnable.h>
( {$ A, a! ` ?6 R% r#include <QtCore/qthreadpool.h>
- d) x) r9 g0 E6 R! A& g1 J1 t6 e4 r8 R
QT_BEGIN_HEADER9 _# `. q: l. @! j$ \( }
QT_BEGIN_NAMESPACE
+ ^# `2 `& t9 c8 I% o3 O
, N( R+ |$ I. R. Z9 G4 z* G$ iQT_MODULE(Core)
% m4 G$ t* u& M! N, {3 E5 s4 l ^, W
#ifndef qdoc
( O5 ]% m0 _1 ~5 H7 z; Z5 c1 m) |) ?7 G; N+ B0 z
namespace QtConcurrent {
) ~# W2 [0 t% E' B) Y" c. J. K3 c
- E4 f' i. z6 C" ltemplate <typename T>$ I+ _. R- P! _" s9 s# N+ a: w+ R) I
struct SelectSpecialization1 b2 y( L1 H$ I
{2 p8 h/ |- G% U. Z: g( `
template <class Normal, class Void>
1 e/ {: t: c' U0 m" E7 ^ struct Type { typedef Normal type; };3 C, `2 b9 z% s3 a* z5 V4 x- `6 T
};, ], y' f0 q0 u& j% U
6 |0 J3 K2 R0 i/ k$ d, D
template <>
9 i4 D e$ z/ N# ?7 j, [6 Bstruct SelectSpecialization<void>& [& l& Q- [3 v M
{
, F" k; B% h' F) H6 d template <class Normal, class Void>& C2 I& Y# w- F1 o7 s8 Y
struct Type { typedef Void type; };% m* ~2 @ s: l1 u# F
};
; c/ `) u! p/ a# d$ k; v1 ~
4 U7 i9 C6 l( x; z$ z. r6 U) v% ]- utemplate <typename T>, [% |, [8 D# _% @
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable6 n; v4 f& E' Y4 k
{; F/ S2 |3 |+ u' H. ]/ i
public:! h& ^" I" D/ B8 |8 X
QFuture<T> start()" X% n+ C9 g4 ]6 l, [& E
{
( m2 M3 d, w2 |2 D0 k: i; } this->setRunnable(this);. A4 B/ S. ?' b( z' c/ p
this->reportStarted();
. R4 D2 g9 L# |$ t( J: N) U QFuture<T> future = this->future();
; m+ P n, {4 }7 `& N" ? QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
0 y3 K# G ~3 X3 G" |2 | return future;$ ]" a2 A+ H: K* b u
}$ ~9 u% _! `+ n% g3 n
9 r5 V( z1 _ ~2 P8 m void run() {}+ u6 W% R9 }* z; ]
virtual void runFunctor() = 0;
; r' N+ o9 B" l* K, o" h G};% D7 k3 m* K( Y8 w* c3 F
( b+ V3 ~: m- u& f) btemplate <typename T>
8 `7 F! u% H6 O2 [3 Iclass RunFunctionTask : public RunFunctionTaskBase<T>
; h2 `$ y7 m) \' _$ x; z{
5 h; ~" m/ o+ u apublic:8 p# t+ v4 r+ P- ?% \0 o! J5 f, @6 [
void run()
0 N- W1 M( w* `0 t {9 @# q9 F) Q2 T( S
if (this->isCanceled()) {$ v! z! V: T1 L% P( b. @
this->reportFinished();' S0 a/ j1 A* ?- ]- B* W* w
return;8 E9 S9 }8 k* Z/ [+ m9 u- S
}' I0 B5 q+ D5 @7 ^# B7 P
this->runFunctor();
* t7 W$ U. c- x this->reportResult(result);
7 @ ?$ T+ x' l; I, { ~ this->reportFinished();, L Q- I: k6 V0 f6 M# A5 v8 ?
}9 X# }6 w- u; O
T result; T% G! S9 f3 o; q! A
};' Y1 o9 ?& o$ `3 O7 Z4 q1 x% P
* X% B; o% d2 ]: m; y# ~: O" g5 {8 w+ otemplate <>
! p4 [" P2 u( s: e) _4 ]( iclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
9 k& \. o8 S, t/ o7 b' I{# r; K7 k# S w, W" j, t) k6 R
public:8 o, F: O: N; K& y, x
void run()
4 G3 ? J* p+ s2 Q" e {& J. M9 {) C! m
if (this->isCanceled()) {
, i' @+ _9 {( P& C" _ this->reportFinished();
1 ^1 b7 J1 \# p/ T1 M! r return;
9 {- G3 N X8 I' ?% p6 P: Z, M+ j }
0 c& I% ~, a1 J8 `2 f this->runFunctor();! W% o I5 N; ]" D
this->reportFinished();
; S" b' V. h+ l. S; R }
! k! D& V; Q! A1 V7 `};
1 Y7 c- I* p6 K1 R$ }6 Q3 Q; `! S; l7 Q2 |8 U& s% a1 E: f
} //namespace QtConcurrent4 o! z& r' J/ l
! _* Z' X0 ?/ n# t( [" e# I' \) k#endif //qdoc4 Q. m" b8 S$ A7 \6 ]3 y, b2 Y
6 D( C/ i- I* a0 C
QT_END_NAMESPACE0 P" b" y, g) v$ K) a7 O
QT_END_HEADER
' U j2 v7 m4 y& \' y
" L6 X& k: W1 K#endif // QT_NO_CONCURRENT
$ G% h4 Q: F: J: A; |/ [) E5 ^. Z; w- ]9 m% M5 m. r Z+ w
#endif, J- V$ Z5 h. S+ y& i4 g
) C) S: n1 i& c& k3 e1 Z
|
|