|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
0 X9 V) p/ B+ E4 I5 [/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
( ]5 P+ U& v8 |3 l; P- M# l. p+ f* f# o8 ^& ]& p/ w6 h
这个头文件内容如下:& k q2 ^8 C4 O: \8 F5 t
#ifndef QTCONCURRENT_RUNBASE_H
" F7 H: X, ~: B+ F#define QTCONCURRENT_RUNBASE_H$ [5 t( l$ T4 Q) r* l$ j1 n
+ B; h; A4 u/ v' x" J1 c#include <QtCore/qglobal.h>
# b8 G9 V. s' g4 J; R3 K4 [) f! A9 L/ Q# x& b8 Q" z U
#ifndef QT_NO_CONCURRENT9 p5 x0 g0 K: N
4 e% A! k9 F' a- n9 L#include <QtCore/qfuture.h>4 n& E$ @3 P5 k, K: ^( E/ v. W
#include <QtCore/qrunnable.h>
9 G$ T7 j; r* I; a& }#include <QtCore/qthreadpool.h>) p+ i8 X* f1 A, m
4 M% }# ?. d6 G6 f! T1 o/ t% v2 ~
QT_BEGIN_HEADER
( Y8 P. J% i w) ~( [8 S7 G; x* aQT_BEGIN_NAMESPACE
" ]- P6 w F- I1 Q8 i- V
! K0 [: i/ R- U9 I" N* y$ ?8 y+ [QT_MODULE(Core)
7 ]0 v5 r$ J8 D7 T3 }* x. n
4 s2 i4 r7 F5 s" b3 P1 C/ `/ n" O#ifndef qdoc
9 {+ t) s. k. B2 P" }; D+ n! [& b8 a! U. \9 w# w
namespace QtConcurrent {
: b K0 ]2 s) v/ T; m \& ~& m
% J5 V O, n) }% O# Z- \template <typename T>
/ i% _ B+ F- a5 n; i0 Xstruct SelectSpecialization
# \9 l- }- O! r* r3 _0 J{2 I% ~5 l9 E4 n; y: ]0 S6 L5 y+ x ~8 o
template <class Normal, class Void>; r( g: Q' V+ h3 y( ]0 j3 ?
struct Type { typedef Normal type; };
' W! Y# v$ |8 z2 x5 ?; o2 y, p};
W0 K' t" Q ~" r, V4 x
/ P2 B+ H+ M+ h% z6 H9 |7 k' Ytemplate <>
/ O$ Z7 }0 x% Jstruct SelectSpecialization<void>% N& H; Y g( {8 ]
{ y1 m1 M @1 [4 I' |9 s
template <class Normal, class Void>
( v% G# X. p& c struct Type { typedef Void type; };
2 a+ l4 e4 ~# ?3 i' U5 ?};
, y8 M9 E2 [/ u8 \7 r5 ^7 g( l" V. H5 t+ T7 c0 w' Q, ?' P! Y6 S
template <typename T>
$ I- ^& N, ^3 e7 eclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
( R6 t( ^( o* }( \- N{
/ r# s( I0 C" @1 {5 Hpublic:
# q2 A" F1 K5 B1 U# v" I QFuture<T> start()) ^5 g- X/ p' [9 r
{
% \! }& n4 x @/ m: P this->setRunnable(this);
! G* l6 J* a, T* E, e this->reportStarted();
* y$ z9 G0 i* N6 O# j QFuture<T> future = this->future();
- }+ J* h* J6 G i QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);4 l# h1 ]$ y3 ] b, _( d
return future;( V' H) {4 J0 q5 d1 {
} U5 J- s# v* z. G
! H6 A) h4 c( B* B" V
void run() {}& D6 {5 @9 D9 H( A. y, ^
virtual void runFunctor() = 0;
/ X0 g( x0 [/ E};
: S* b+ K8 Z5 v) i& }, f5 F* p+ M' v" R
template <typename T>
A* i! I: y! ?0 M9 mclass RunFunctionTask : public RunFunctionTaskBase<T>
+ c0 q8 { [! U {{
; v" m& R& @) Y& z" z1 Upublic:
0 x& X' ]+ [$ r. M6 K* t8 Z void run(); Q% V0 A# L# R! i+ M
{
: v- X% E: c! D if (this->isCanceled()) {$ I1 S$ o0 m# q5 n* M$ x) ~
this->reportFinished();) X9 g& U. B. p- s( I; J1 h h# ^
return;
& \% `$ q9 L" w& t7 g0 k8 q. A9 n }/ N2 A& P4 K; d$ @
this->runFunctor();: K N* D3 b" J; R4 W! P2 A
this->reportResult(result);+ g; X- z) L! q/ W7 { M2 f1 u" q4 O
this->reportFinished();9 L- j6 `/ ]8 |. h
}# o8 D* b: o. Y/ _
T result;' e( n8 d/ ~. U d8 D
};
, Z% a; |( v6 V; O
: w0 q) D3 ?6 k1 Y( Y+ Gtemplate <>* x( @, d/ S+ p6 T2 w
class RunFunctionTask<void> : public RunFunctionTaskBase<void>' f& {& Q3 V* F6 Z/ s' ]
{
, ^* R% S# ]6 i0 T3 Kpublic:$ c- o& \0 S& ]4 @3 @
void run()
. d. z- j+ m' @- k {
/ ~3 T; k3 Q2 y if (this->isCanceled()) {( x! ^: s2 p& z, F: R" v
this->reportFinished();; J- p# S# U5 j( I7 q
return;) I0 w f G* W
}
- \" @* Q5 ]& {$ ] this->runFunctor();
f) v: n9 c4 g9 Z& c this->reportFinished();
* V* n% A9 x$ J8 y* S' h }8 R# M! b; o) m! H
};
/ q' h, S S" q! g" N) ?# h, o7 u7 {+ N" U T
} //namespace QtConcurrent/ f% K- o& r+ _
: |2 c* t& |2 O2 i: d% N. Y3 H( }#endif //qdoc
4 {2 ~: Q* W" u/ E
, m. I, c. [: H9 O% J0 gQT_END_NAMESPACE
* T A: T7 N) a$ [; r6 qQT_END_HEADER+ f f Y( M4 \% g' ]; @" q
% g8 e% ~8 B/ H8 ?, f$ W: u#endif // QT_NO_CONCURRENT" h$ ], s A( s \
* S# y7 O+ q2 V O! H
#endif. {8 y3 ~5 ?" C4 d- O$ G/ E3 Y
, F2 o) n3 J. I# s: ~& V" B
|
|