|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
/ G$ o1 ^/ X$ k3 L2 a/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
; T+ y0 J6 L9 |7 }5 S e& B v* ?1 y! w# `# P6 i
这个头文件内容如下:
0 ^* o7 [5 W# U; T/ {2 X- N( Y#ifndef QTCONCURRENT_RUNBASE_H
& G: _# _6 t1 ]$ N' Z$ z* h6 m. ~#define QTCONCURRENT_RUNBASE_H5 P" q) Z. @ r! R5 D
& B V+ o8 u$ Y1 i" S#include <QtCore/qglobal.h>
5 m% U. F: G0 g9 H. t+ z
) N3 V' n$ G& c0 ^9 n/ s#ifndef QT_NO_CONCURRENT2 f8 T; b: p: ]. W6 g
% Y3 V& S; z5 Z1 e9 N n
#include <QtCore/qfuture.h>8 _3 [3 x2 S( L& p+ V; {6 U' h! X! W
#include <QtCore/qrunnable.h>
8 A2 F- [& n) x/ Z3 S1 k8 K/ r#include <QtCore/qthreadpool.h>9 e# W* ]' x$ u7 S& O; [
: T7 h4 Y3 d+ x9 S
QT_BEGIN_HEADER
2 Q2 ~# P$ A( g$ m& k, u' t4 @0 }QT_BEGIN_NAMESPACE2 }4 j5 I- I: w i
I5 D7 @" N7 R2 D+ J1 ~* F
QT_MODULE(Core)9 P; M3 F4 E6 P( j7 M- b) M U
T8 V! z2 ^3 q, B
#ifndef qdoc
* H2 k" h7 ^% u& C2 l. y9 w' v# ^5 {. I$ j+ ?3 e7 O8 O+ {
namespace QtConcurrent {+ B# s5 |0 H g X
: m% \" P! A0 \) S
template <typename T>) w$ M |7 {. x8 z. H4 S$ a
struct SelectSpecialization
$ w, ^5 P) t( M0 A& B% R{/ Z1 B" z5 j8 s; A" y2 n. x2 v# [$ L
template <class Normal, class Void>8 Z1 }$ @" L2 x# k
struct Type { typedef Normal type; };
8 ?. q( B# _( b& G! z8 R) i. T};$ u1 d' {) o, C$ Y) S
I" c0 b5 R" _: t6 N Xtemplate <>
$ F* `, E! Z" g( Q9 x3 c% ]struct SelectSpecialization<void>
. U( N# x g) w9 _; Y{
# l% N1 V7 t, u- K template <class Normal, class Void>
8 ^/ d6 s( `* y, M( ] struct Type { typedef Void type; };
# \' s: m7 P$ n+ `3 Z* A3 F};
# X( t% M3 }, K5 C8 Q# k, N- ^' m8 d5 V/ f G7 _
template <typename T>: b9 Y; r6 Y* W# I4 Y0 h; F
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable5 ?9 h2 g2 b2 J) ~' \# H
{
9 T1 p* R' o) p0 }& `public:
" h; M0 e' r' V QFuture<T> start()' Z' {7 @+ H7 a) M% E- c1 `! a L
{! R% c' a' P4 B4 X2 y/ |# G
this->setRunnable(this);4 j, w, U; [ G7 c6 s7 Z
this->reportStarted();" }3 h, Y! N% U& E) C- I: Y1 m
QFuture<T> future = this->future();
9 i- `: f L( R0 c( N. X- f- q QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);) d D; h8 \' X5 J; m. O3 h
return future;1 _4 P7 s3 S+ O6 R
}8 |7 f) ^; I \" D4 r. d8 ^3 C
# G' X1 W% U. O; x% P
void run() {}( b+ L! ]9 S; U& z7 R7 d/ {4 B
virtual void runFunctor() = 0;( {8 v2 p! l" S, k
};3 ?" i9 n! i$ ^& j7 @7 e
/ h/ e- Z& S+ y' w; U
template <typename T> Q9 j1 ^3 f+ i1 T9 W+ U* _2 l9 [2 }
class RunFunctionTask : public RunFunctionTaskBase<T>) ^6 a. L0 U- A! e9 u: y* h
{5 W* y3 Z5 f- a% Y( P( P
public:
! A; X+ Y/ S2 U void run()
4 I" k, i! W# m2 w {
9 I! ]0 t* e" o$ Y- v if (this->isCanceled()) {: @6 K U" m# o: H' ~, V M
this->reportFinished();! q+ s3 h" S2 _6 `: k
return;: V* d3 D- @) K% T' s- p7 Z
}! a1 z- W5 b/ v" j
this->runFunctor();5 L9 L. w! h8 n. |/ u0 k
this->reportResult(result);
' z! c1 R$ S; u& S8 c this->reportFinished();
+ |8 N9 g: W0 o- j3 h8 }. ~& ~, Q/ L4 } }
/ ]9 S7 c; T) [/ p& ~8 ` T result;8 M& ~' [( w5 d
};
9 ~# D' H8 s8 P0 X& f" p& S% t3 a/ _, t' Q
template <>
" T/ W, T8 P5 E ]) @* n: mclass RunFunctionTask<void> : public RunFunctionTaskBase<void>8 [- I: |/ \2 e; I$ A4 L- ^" B2 d. i& Q
{( }# Z9 y% F9 O2 m- @% \
public:( d& f0 b- r$ Z4 `& G8 w
void run()4 y2 ~8 N0 @& v& M2 P7 M9 m
{: t& X& |7 Z9 m# N6 n8 Z2 A
if (this->isCanceled()) {
4 e- [0 n) r1 L* {, { this->reportFinished();( X Z* f. ^3 K6 A3 ?' o
return;1 `/ i- J4 _3 A; Y
}
9 S+ `) K" o+ x1 Y$ z this->runFunctor();! c2 x5 L! @3 S7 R0 Y
this->reportFinished();. |7 w) U; N, S1 S6 Z
}: q9 ^$ [% w0 `+ d* C& i
};; q2 Y% Y: c% y/ X+ e: G; \
; d) w9 n/ `5 V% C- f
} //namespace QtConcurrent
# D- k* r& b) C' Y6 t/ x$ V3 @. U% \. k! O3 q0 s. q
#endif //qdoc
6 _3 L. W3 S; b8 u4 Y; u" B1 z
; Z' j& X) f7 S6 c) j8 hQT_END_NAMESPACE
. N7 Z! ]( `+ O3 [; Q; T3 \( Q/ W( ~# rQT_END_HEADER) C+ G; i3 q% J6 L" O- Q
[2 L& d, a2 c/ A) \/ m% X
#endif // QT_NO_CONCURRENT
* ^5 S! W: r* k' Q% P. v1 N- v+ Q& O8 \% a+ Q& N
#endif
8 Q- f1 W4 v i4 A7 z( i G5 y2 W$ g: K3 H" j, P; @$ t
|
|