|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
9 w" r$ j: N3 k' ]/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'- J. X* Y6 g9 G1 Q# _* ?( A; u
6 K# Y) j) B9 D. o, \
这个头文件内容如下:
: ` k0 Z& s: Z" h3 p7 t#ifndef QTCONCURRENT_RUNBASE_H
7 r( R6 f3 p& f! e% k$ h#define QTCONCURRENT_RUNBASE_H) E2 v, R& X: m, L
$ T5 \# K! W: v8 f7 o# ?7 Z6 L) {#include <QtCore/qglobal.h>
$ h- N8 L9 g1 _) d+ B( K; e& d- R9 J9 H/ m* G, o
#ifndef QT_NO_CONCURRENT( u( I0 M8 y& V" e, e
& u+ [( r- Y: q" V1 e/ |
#include <QtCore/qfuture.h>
4 I& Z, w- \6 W. C#include <QtCore/qrunnable.h>- Z! [, H' `& u& J
#include <QtCore/qthreadpool.h>- C) Z% {5 u; Y0 ]. W
' I9 U: K' [" W. ?3 J# ^& z0 }3 n3 n# R
QT_BEGIN_HEADER, U9 m! V( l j$ U% r/ y! c/ B ?
QT_BEGIN_NAMESPACE
5 g. C7 f/ j7 q; C; q' h( r- w9 ^" j- q5 T# {9 O, i0 [2 i) i& \
QT_MODULE(Core)
9 ~' C \: ?7 P* G% a
! I+ o/ D) A. t) P4 \1 [. s! c#ifndef qdoc
3 `& T& F- n( c. {/ L0 B5 A' s% }6 A
namespace QtConcurrent {# U$ l) `) K: Z3 P, @. S
9 T# f, c ]! X# Vtemplate <typename T>& N8 B+ @" |# a- H
struct SelectSpecialization
% o1 A2 K) T! q{
' @! K8 d% x$ ` template <class Normal, class Void>" e+ _/ Z! V8 z: \
struct Type { typedef Normal type; };$ `, K- W' K6 Q/ A
};
R5 |9 W; e7 N& S' V7 C+ j
6 I% l/ T8 s2 J; M4 d G' E0 ^& ctemplate <>& L. s, U" w) O. F: v& x8 _ a3 j
struct SelectSpecialization<void>+ k& Y* S. p, _, j3 N# C6 }: a
{* W5 N7 L5 I8 N+ o; m
template <class Normal, class Void>7 J; u& g% R6 i4 l& b$ ^5 h, V* m
struct Type { typedef Void type; }; K# N0 F% f9 k9 |9 @9 d
}; G2 e! {0 h' {3 Z
( V) P- \& ]& r- Z, U
template <typename T>; |/ c$ l Z- ]0 K% D
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
" v- ~" s# i. q% o) \7 e4 z5 k{2 x- l# `) i# C! H& p
public:
. S- ]' v/ z5 W6 l: n% h QFuture<T> start()
6 Z8 y. I4 @8 {/ x( G {
/ p" q; E$ P( r* [, u this->setRunnable(this);+ Z% e) c8 Q- E5 {
this->reportStarted();# h& v: b( p: v
QFuture<T> future = this->future();
3 _3 V2 G5 X6 o! I$ E QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);0 u0 k6 L" b- L& X# N+ p5 `( [: @
return future;
! y& @! L. |7 v- h# m }2 [ d1 w7 O: ?; `5 b! P9 R( l
- {( R/ k0 z6 o4 s/ X3 n) K
void run() {}
6 R K3 Q& _7 ]. T virtual void runFunctor() = 0;% K8 ], J% L+ A
};
! s% W8 ~) x" A0 v# F$ t+ u
6 Z" }( G9 o$ `3 M) u' Atemplate <typename T>- P* j7 V2 L; K1 D
class RunFunctionTask : public RunFunctionTaskBase<T> D: Q a3 d$ M, h; W( @8 ]/ g- b
{
) b9 x) D, {% m5 h2 z: mpublic:
, M0 \% `" _# `. ~# Q2 l void run()5 D4 F* k4 G5 _6 w4 d. s/ m
{% j+ y5 X* K6 K) c( B7 k n" q& ]
if (this->isCanceled()) {
) j* m7 h. a9 l5 I. W/ v5 L this->reportFinished();1 g0 ^; I- [* N1 o3 R
return;$ _" X4 K- Y2 M3 \1 c
}
5 m- T% v5 D, g7 `. y( ~. V this->runFunctor();
4 L1 N& t: K9 U! o/ x: k" x) Y this->reportResult(result);! z8 F( p; s$ K! M
this->reportFinished();; j. `3 x& _4 j2 j+ t0 J
}
9 }6 d* R1 u9 @3 j7 o" D T result;
$ P; k0 ^0 S8 _% R8 Q3 L5 C) w7 j; y" U};
1 ~. q+ `* [# W& S8 P2 I* |- h+ {- j; n- m$ P
template <>
, f/ Y; V: ~* B7 b$ W3 oclass RunFunctionTask<void> : public RunFunctionTaskBase<void># ^7 q, \, ?7 ?+ |6 \
{
$ @: G. B8 x z8 i! u# {( s4 Apublic:8 {5 r9 j8 y# D( h6 r
void run(), o/ o5 I* o2 ^* d7 p% j6 y
{2 d5 H- O2 q0 u/ }
if (this->isCanceled()) {+ n; e u% b- J6 b( F( c
this->reportFinished();
/ g( a8 ~$ h! @2 D* i; { return;
. t$ h ~* J' B, ^6 S, |+ X }, D3 |! s% s& _ V* }; K& p8 u
this->runFunctor();
" G2 _* C9 S2 r this->reportFinished();
) c1 }- D; l8 T9 W( x* g" z }/ X0 c# h" b% @8 H
};
) n& `$ Q# r X# O( @9 s: C3 c0 ]" w: a+ [ ^, @
} //namespace QtConcurrent
8 I( J: Z) l4 s% m( ]% F
9 j# V& q& o0 _9 C#endif //qdoc
3 n: q' M" S# D: b6 f% [) u6 `
1 E$ P( k5 i8 v% u/ \0 cQT_END_NAMESPACE
& E! z7 h$ ^3 e/ j% g# XQT_END_HEADER2 l n, x/ p& J* K/ d4 ~
! c, ~3 ]3 D6 `2 |- Y& V#endif // QT_NO_CONCURRENT$ y. W- P: z( q* n9 ^
" k: ^: Z- N! }. l#endif+ a% V7 Q L( N8 _! x7 }# t) E
0 N, L" U6 E e7 S5 t. o% \
|
|