|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
" | f, k3 f# r4 R; c/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter': o2 R1 x1 Z/ k% s
1 L4 s9 P! R+ o N
这个头文件内容如下:
8 p' \! I8 k0 q" B7 J- p$ h#ifndef QTCONCURRENT_RUNBASE_H
6 O! N6 z/ Y6 g: U$ f$ q#define QTCONCURRENT_RUNBASE_H
# s$ j" S) _# j+ }+ k, H2 S
) ]6 u5 x+ e% n% d; ?& Q#include <QtCore/qglobal.h> ~6 k8 `8 l6 [8 z% J6 M2 H! o
2 `0 |* D& a7 ~9 k#ifndef QT_NO_CONCURRENT
( o1 m; v2 r4 k+ c+ w% U
8 p% P P [5 g2 x3 h: ~" `5 Y- _#include <QtCore/qfuture.h>, N2 n3 |5 O) X- X" B" l6 b# f
#include <QtCore/qrunnable.h>% A. |$ Q6 ~" Z) s' _ G
#include <QtCore/qthreadpool.h>& w4 t( S" c' m4 Y8 }9 R7 O( J- I
% ~+ C4 I: e- f8 i: e8 v: z7 @( EQT_BEGIN_HEADER. o2 d2 _0 I$ @0 O
QT_BEGIN_NAMESPACE
" [. e0 \+ ^8 r; e3 \: z( L- f( b/ Z; H5 v/ K
QT_MODULE(Core)+ D/ s0 z5 g* \# I* J" \# R7 \# Y
: [# Y7 n4 g* P#ifndef qdoc
0 \6 O: N8 F: {- f2 r5 s& V
" H O5 H) k2 f+ Y6 vnamespace QtConcurrent {
3 ?" G, p- O8 j; U) h q- y3 Z
& e5 l5 O% A" n& Ztemplate <typename T>$ h) ~$ s( t: O/ j2 C
struct SelectSpecialization# ?9 J! \) f) V1 z, S/ i) K% s
{% C+ E; Z9 e1 t
template <class Normal, class Void>, e% H% E$ D" g1 ]& F
struct Type { typedef Normal type; };
$ z+ `- @5 ?2 ~2 h1 ~};1 m+ ^9 M9 n+ s: f( U( v( M
4 ^: i1 K* o( E
template <>/ o. L# |; _! f; b% ` I4 N+ U
struct SelectSpecialization<void>" ?" [+ N+ u! a2 ~' B2 ?* o: b+ c
{
& M. Y/ X3 C/ z template <class Normal, class Void>' h9 r. Y( l8 j4 Y0 A9 U2 |
struct Type { typedef Void type; };! H4 \2 k! g, A% X7 P- @" t) O/ p
};7 J/ h' @1 F' r$ E5 T
* L5 ~$ z2 t* \" s( \8 O8 [/ @
template <typename T>
a4 |. d) n4 @9 [8 C3 v: ]0 lclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
2 ]6 w4 [& V! Q7 o{
) m# W2 [1 d4 s' ]! H5 hpublic:
6 V8 f1 c8 F* O+ R7 h QFuture<T> start()( a& u2 H- p/ Y1 B) x
{
6 j% S% j! ~8 d this->setRunnable(this);
- y( ?3 c! {, \4 e. Z- _ this->reportStarted();
" b: k+ N+ C+ e$ T n QFuture<T> future = this->future();
$ W: a) d- L( D( a QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);0 H1 C7 U( I- C1 g; ]* W$ m$ H
return future;# }( n5 I8 q1 [& N( \& E7 U
}# I% J6 Y, u3 i, I7 Q1 N& @' z
& A7 }- B# K: p+ P% a
void run() {}
/ N- t' [5 G+ z* M7 r virtual void runFunctor() = 0;
+ O" I. q, q* X};% z2 X7 T+ Q$ c
8 h. L+ F- B3 n6 T' D+ ]
template <typename T>
# o: w: q* \, X1 a& p: ^9 hclass RunFunctionTask : public RunFunctionTaskBase<T>
7 G( q r0 v! E1 k+ u1 y{
. l: _" a" C& b1 }2 rpublic:
' w2 q* [' C9 {3 Q void run()
1 ~% I; h, n- N9 I* m$ b$ q" d; q {* O2 T% F1 {& m% \7 m9 \
if (this->isCanceled()) {! @2 \5 ^. r' t) Y4 I
this->reportFinished();7 z" a9 q% s& g2 f
return;1 c; y( y$ `* p3 G) ]
}* C9 H" i' H" f# ^* Z
this->runFunctor();
) P. i) R- J: {5 |( N# F* @ this->reportResult(result);/ C7 C$ m. S$ d9 _ B8 ^
this->reportFinished();
; l0 K9 f* I) u5 y8 w$ f$ F }8 ?" o. V& t S# I
T result;$ \' z; T: @# Z7 t1 G7 r4 x2 }
};
y0 {8 t5 ~0 n+ A8 Y
# J! \% ~. N; B" a ?template <>
0 K$ V# y2 ? J6 aclass RunFunctionTask<void> : public RunFunctionTaskBase<void>2 }0 W. X) u/ l* g& T9 x" r, Y
{
$ v0 z1 w8 R L% o) S' }; Rpublic:
; u% U' W& x- \ void run()
4 i# I* b& m' @4 g4 V, ?' c- Q {
- s1 P# J" L. e+ t if (this->isCanceled()) {7 d; J3 R4 e3 a6 k D3 D
this->reportFinished();
. d H) P0 n) ]. a) e% k( }8 b5 p return; {( Y# @3 d7 w5 K8 ^& g% c/ @
}
7 }* ]0 z |# \7 z% ]+ F8 }9 t this->runFunctor();
* \ |& H8 ^" z- ~& x& f. C this->reportFinished();, Z: X9 V w7 n- R Z1 X
}4 f }7 e4 [+ r/ I& r' ^: u2 B- F9 s# c
}; t4 f. t9 ~0 N& h% P4 s7 P
7 d8 F$ @" E* R& n0 B0 x, g2 o} //namespace QtConcurrent
% O' ?% X+ \- C- g
4 l$ J# m/ q$ X+ H; }% V* R#endif //qdoc% C5 u( j7 B# l% O# Q2 ~
1 C: @8 z( Y) ~0 z1 DQT_END_NAMESPACE2 J3 n% J1 B. K% B( o
QT_END_HEADER
# i! N3 X/ l0 {; x$ y3 v* O
0 J/ M' v) I& {* m/ H0 _#endif // QT_NO_CONCURRENT
( j& l/ U2 F3 M* h/ Y# D/ U+ v8 Y' @( z5 Q7 A7 f/ U
#endif
; z- e ~1 a8 W& K9 M5 g
, f5 ~ q3 U2 _; c! H9 K; [ |
|