|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
: Z. \/ _% M) Y( y" e/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
) e& O, q$ H h8 q8 [) s0 r, B6 l
这个头文件内容如下:
9 c% B; w2 D; K#ifndef QTCONCURRENT_RUNBASE_H
8 A& h5 V X9 u- X9 }6 k9 d+ T#define QTCONCURRENT_RUNBASE_H& Z3 R$ H. V9 o U
6 R) h% W7 t+ S- s" A q- e2 b" W, m#include <QtCore/qglobal.h>
) l" L& z0 s6 t( k) @' L2 [0 k. C, |4 F8 t3 {! ]2 h D
#ifndef QT_NO_CONCURRENT: Q1 d* A# f/ h- d5 H* m, \
0 ?' B. d$ I. ?1 O$ d7 M6 R#include <QtCore/qfuture.h>
; E% m- k* X# ~9 C# }- |#include <QtCore/qrunnable.h>
; Z: t8 [- G# }: v! r% A, I: Q* D#include <QtCore/qthreadpool.h>
0 B+ ?: n( Z3 o; _2 e+ A: s2 c0 w% q5 l
QT_BEGIN_HEADER9 h, J C" {; D& U. T* A' m6 C
QT_BEGIN_NAMESPACE+ v w* A; l; t2 Z4 l1 m* ? r7 t
2 Y- h8 G2 T7 J- H" U. E* eQT_MODULE(Core)3 |! |* @" ^/ \4 K$ U5 k6 O& P6 S7 K- I
8 b; C7 f7 i! B
#ifndef qdoc1 r' Q' D: R2 U/ [6 V( \! \! _. c$ `
0 R: D4 y: X/ h8 D% R, m- [0 nnamespace QtConcurrent {" ~) R m7 _; s: y2 P
9 c9 D# V8 M" j4 X. E
template <typename T>
* S# c5 V c% Istruct SelectSpecialization
; O5 x6 u. m' r. I* M{
, |6 Q. D# I$ {' p. @+ \& Z template <class Normal, class Void>
0 {6 D# _! A$ H+ @ struct Type { typedef Normal type; };* v9 Y7 M5 q: _" S* R0 e1 p0 A
};
/ I7 [0 R4 a6 z! |# W& Q6 w+ W' R; ]& y2 S* v( g
template <>9 O2 c: w0 n& ` Y
struct SelectSpecialization<void>( N' `* h6 C* J. K/ L$ {
{. u& T7 v/ _* l, ^
template <class Normal, class Void>
- J1 W9 ^- d3 s( F0 e/ q5 e2 b: s struct Type { typedef Void type; };& X. r: [& E" ^3 r! A: T( c- F
};! h/ U1 E+ J* E# T3 e
9 _; w4 Y+ W$ _) S( atemplate <typename T>
/ m4 C a# B- X) x5 ?class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
7 `+ d1 U, j( V4 s) e& n3 z{. ^* _, k8 }( a& n- p1 v
public:( ^8 {8 S7 k" a! k0 ^6 r, l
QFuture<T> start()
: i3 P, H% W- P7 [' c, I0 ]6 r {
" L! Q+ n! l1 B$ {$ q2 a this->setRunnable(this);
6 s# H5 q: T; s3 x this->reportStarted();( }7 N. C O: f6 F" Z# C O
QFuture<T> future = this->future();
" K7 a7 q6 C2 ~! f2 Z QThreadPool::globalInstance()->start(this, /*m_priority*/ 0); P" A9 _! i. R' h. M
return future;
) I( a/ q d% _6 A3 f" F0 P8 C }6 m" a2 U. M" U3 X! b& V" Y
. b: y H( M3 S$ P: V void run() {}# w$ K! f" b( b
virtual void runFunctor() = 0;
/ Q3 }! x& {) ]3 E0 ?};( O0 g$ k' }( J) S6 [; F+ N
+ u. O' Z, J) L0 N& ~" n
template <typename T>
: G+ j4 @( ]3 E e3 }, x3 [2 Hclass RunFunctionTask : public RunFunctionTaskBase<T>$ d: ^) m0 Z2 i. p' a
{
$ i3 j7 N; S! u, s# Npublic:
3 n+ ^# V' G/ |# |: N8 c; S$ u! W void run()2 [7 m+ P# Y3 A2 c J& b. ]1 v4 c
{6 u5 L" C0 V7 b4 G- b) h0 P
if (this->isCanceled()) {
" Y) h# Y$ P( E, |8 @' }; F6 h. ~ this->reportFinished();& x# ~" o4 N/ s1 L1 } Z/ [
return;2 B& h' e, _- @3 l4 ^) G& M
}1 ^3 P* K3 q3 ~+ a& i$ O
this->runFunctor();
$ V0 d8 ?- ~9 \6 k7 p2 ?$ } this->reportResult(result);& O/ l' c A# q, w ^8 h% q
this->reportFinished();; M3 ]+ f- v* \$ V+ g
}
& [1 X5 P; V o: j/ I5 _ T result;8 l. U" @# Z3 r& y! f
};: g$ b1 C, @5 X: N/ c% B/ m
# g, }1 p# y0 A0 W! H, Q& Ztemplate <>
; P# B! j! c2 @3 A! v4 t7 A- F9 ^class RunFunctionTask<void> : public RunFunctionTaskBase<void>& ?- g* _. T( H2 e8 g
{
0 h/ I h. y0 i1 m I! v- ~public:' v+ e4 I, U0 S+ H1 i7 e8 p
void run()
( V# x3 A" v% s. }1 j {$ X0 ? c( s9 d- v
if (this->isCanceled()) {% J1 F% _' ?7 i
this->reportFinished();
. P S% C6 d3 f7 c5 H return;
$ H, U4 q- j$ z: V) E+ ]2 g }
" b1 i+ }% b5 `9 {* U this->runFunctor();. q2 K; H& h) b5 K# h3 i
this->reportFinished();
( X7 ~" h" P. T% g }6 }+ {9 Z4 W i' N" V
};* o5 K- p; [7 X% j: t, c
% f! t! ]6 c9 z1 i" U2 e% m
} //namespace QtConcurrent3 v7 v2 d- a2 z2 ~
% Q) @/ D8 Y, j/ g& r( I#endif //qdoc( B+ U. y) o( b+ y5 X8 t. E
/ Z$ [# k& X) t, B
QT_END_NAMESPACE# N- r3 w8 C/ k8 l9 |9 k( T
QT_END_HEADER' K2 y- E2 \' x' a0 t
% T4 [% y0 a* N; B5 M8 Z#endif // QT_NO_CONCURRENT* U/ D( c; K [- v: ~8 J$ N
# d% ?. Q& e* n3 q, u0 ~#endif
9 J4 ] _% |' K3 @" \# b/ D8 }$ K+ e1 g6 l
|
|