|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
" F) h) x* U/ |: a5 I/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
2 d) y: P9 a( w: o3 l* c
4 w; L/ k. ? I6 Z, k8 k这个头文件内容如下:4 W4 h! M% e h2 n' h
#ifndef QTCONCURRENT_RUNBASE_H
# _: w! v# ] n& n, l#define QTCONCURRENT_RUNBASE_H8 x' ~3 D% W) W( d p
/ K5 \: e: c1 r6 |#include <QtCore/qglobal.h>
7 q; @$ v* `/ F1 }) C3 K( P3 f5 @! A' S/ g
#ifndef QT_NO_CONCURRENT
/ l2 C. ]- @3 [3 {: m+ J
' {: D+ B$ r7 d#include <QtCore/qfuture.h>
! u. C3 n+ J, o+ J2 q# u# J#include <QtCore/qrunnable.h>
0 M) N4 v; b9 S! R! \5 i#include <QtCore/qthreadpool.h>+ ], k" C; |; v
9 @. Z# o( Y2 n" G4 L. _
QT_BEGIN_HEADER9 Y2 u4 ~; I; j$ v
QT_BEGIN_NAMESPACE4 p( \# |3 q8 C0 o' l6 r
0 Q# ^' v! w* |4 ? R
QT_MODULE(Core)/ K2 q) F7 I; x- A
: ] D+ B" X/ p
#ifndef qdoc
7 r; H" Y$ e$ p& ?+ Q' o6 a' M7 t5 B$ h( ~
namespace QtConcurrent {- F, e) u0 V& e' d/ e7 C$ J, c& y. M
" S. S+ x4 c+ n6 A+ t/ ~# Ltemplate <typename T>
( [. D; R5 ]1 s6 sstruct SelectSpecialization+ [" T1 V, q8 h; Q3 H$ E
{
( o8 M" c+ S3 f" T$ o8 }/ J' s; | template <class Normal, class Void>
' l0 H4 L% k; w4 m7 b- Y" L struct Type { typedef Normal type; };3 S: c1 g: W4 M$ P8 J' _: m5 \" T0 K3 c
};7 _( f0 ?+ D( u
. I( P& R% X/ Utemplate <>
7 L B' K3 A) w% X& ?! Xstruct SelectSpecialization<void>
) i+ m" W- R4 Y6 N{, I0 _8 p8 t# Q& L
template <class Normal, class Void>
4 \/ l0 q' h$ I5 k4 S7 W! a# p, p struct Type { typedef Void type; };- B6 B0 T' q6 K3 B& l3 ^. H% T
};6 N# J# g' d; c) e0 y+ k0 q
! k6 }# ^8 ~1 dtemplate <typename T>
3 w" q( B3 U) f5 |- F: j: d" r$ Jclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
# b) W& L7 {. \3 w{- G% I( Q6 z/ q
public:: g, M9 e& _- I, h A- f+ A
QFuture<T> start()' A! O9 J2 N5 Q$ E7 m e ?5 n
{$ C% Q1 Y* [( `" q, @. R3 i5 B
this->setRunnable(this);+ c! }/ X5 J. w/ w2 ]
this->reportStarted();7 k2 z: r6 I/ o. P$ P. z
QFuture<T> future = this->future();
8 L9 x4 f/ U3 {; a, Q% a( R, t QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);2 }$ x. ^6 u7 C" T* o* j( D1 w
return future;" t) g; B9 M% c+ F0 a5 U$ }) P% l
}
- H8 [& f$ E5 m' w
8 O8 k0 U. a$ A' ? void run() {}" \: ^% P% [, G$ H% ?! m
virtual void runFunctor() = 0;; u8 b3 s: o4 V3 [' N: f
};
2 ?0 V$ q0 E$ c% B( }! O$ |3 `) l0 A" `& K4 c
template <typename T>2 S% ?) Y+ k. c$ O0 M
class RunFunctionTask : public RunFunctionTaskBase<T>
3 P9 Q) o4 X: X, O7 f{
/ o1 j' j) u# f5 C+ q6 C. Kpublic:+ G) B9 h* A! R0 \- E" O, K
void run()
% i. @7 |4 e, s) ^2 L5 j. y8 ^% | {
, @! k- k" P2 Q if (this->isCanceled()) {
6 a6 T4 k7 |6 X, f this->reportFinished();
1 E: x# {& e# C X. H. z! { return;5 N- [9 O) r* D& Q& W; M, k
}) n. d: P6 E6 I1 t' a3 d
this->runFunctor();: b u- g9 C6 H3 w* O, i" G
this->reportResult(result);
7 K2 D* ~" M9 D1 S) A& G. @0 w' Y- X this->reportFinished();
9 i- X/ I" o3 } }
4 d2 ^6 e+ |* q% Z7 a! A# E; g3 M) i T result;5 t# T: M Z9 _, }" k1 K
};
% k' n* K3 ]. s$ F; c1 ^
( [% i) m& ?& C' l- c0 T0 A0 Ztemplate <>0 l7 G1 Z# {2 }/ B0 j/ t$ F
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
% r) O0 }- b8 V! s$ Y{
K/ l! J) s4 M; ^, o+ [: e- ]public:
7 `" u' t+ k7 \* f4 _' k! E6 d4 v void run()4 ]- M5 o( S, t# |/ D
{
# N- V- n1 j) q if (this->isCanceled()) {: u) w; A" g T
this->reportFinished();8 l* c5 K# O, j0 r: R1 i# n
return;) q I: j& j1 G7 f8 c( y, ^% p; @- I
}
9 l4 n" b% R! m P" W1 \, P this->runFunctor();
" o$ u0 F2 N$ r3 }0 U this->reportFinished();% c5 c @* o' W9 S
}9 J3 @8 T, \. ~+ C- i6 Y( R- |
};
3 K' x, }6 D/ q# P C3 u9 H4 \* a' J; g- o) X+ g
} //namespace QtConcurrent) H, _: |7 ^4 j, S! j
2 N5 Z+ j4 }% A0 h#endif //qdoc
3 i' M1 ] |6 k; E1 R" f5 c0 R
$ s3 O' j9 L* lQT_END_NAMESPACE# {, T/ J( P0 b* j! W( S! p
QT_END_HEADER: f2 E# A, M7 M: H( i2 a
) ~, |# q, @0 r. v6 B8 H#endif // QT_NO_CONCURRENT, K1 [+ F% h" R0 g+ ~
9 n- F$ v8 O/ t* }& F#endif
! [1 O- b4 N8 ]1 b" N
2 |; I5 O6 N1 B6 q. G |
|