|
|
我对syslink进行交叉编译到arm,但是出现如下错误:: F( H, L$ H: 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'
) E( F. O: ^/ Q' M# T) O8 @/ ^$ \. z( j3 B
这个头文件内容如下:
( ?% P- B# |3 C7 Q#ifndef QTCONCURRENT_RUNBASE_H
* `* {) L6 y. d9 J7 n- [0 D' r#define QTCONCURRENT_RUNBASE_H
$ o; [8 W2 a/ `, s
( ]& r# i6 B+ d#include <QtCore/qglobal.h>0 r1 T* O# s* H8 E
" H$ J& T* O7 n. O, Z5 V
#ifndef QT_NO_CONCURRENT
$ t; P9 P$ }6 G% W
, o2 a8 t9 G) q" W. A#include <QtCore/qfuture.h>- S4 T# q5 X* Q. E6 E' k& L
#include <QtCore/qrunnable.h>
- {) Z, u9 p) B2 x: W, _& R#include <QtCore/qthreadpool.h>
. {& ]4 E& R) e2 r! n- Y6 w/ X; a9 L, s1 K* l
QT_BEGIN_HEADER. u5 B8 d1 X& u K$ D8 Q. L
QT_BEGIN_NAMESPACE8 b; ^- Z: n5 y* J- F
* p( O: A* a6 J6 M T# {
QT_MODULE(Core)
8 N' F# p+ Y8 ^8 c0 q6 _6 o+ [3 C- S h- l
#ifndef qdoc
K3 |; l& @6 a3 s- p7 Z
" t& C$ c# L+ c' ^9 |. Pnamespace QtConcurrent {* Z5 O j+ ?: |$ r2 n) p
7 ?& ~( J4 J/ C- }" y" C* S* @
template <typename T>: z% p$ N5 x! w- f7 Q$ S/ M" S
struct SelectSpecialization3 Z @: h' \, N) N& o" y3 A6 V
{
. J# I+ g `, p4 w6 b6 R6 I$ Y template <class Normal, class Void>
$ ]8 {; e# _, k# i1 T( _( O struct Type { typedef Normal type; };9 p! f1 u! z' q/ p+ K- I
};+ o( `: r' S3 E9 d d
; ^0 {+ [+ a9 o: a9 H" |7 r
template <>
4 c. L! n! m( e5 I+ d' H' qstruct SelectSpecialization<void>
- k9 ?1 ]/ R& n1 A, X2 J% J{- w) J/ D9 E! a# c' d
template <class Normal, class Void>2 n& ?8 j: Q4 r; v8 O& E
struct Type { typedef Void type; };
7 e+ ^9 a! k* U- D$ h5 E};: i; B O Q; D1 {
. c4 I4 ~/ F0 c% X
template <typename T>/ E1 O4 l5 @2 I# j' p& }
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable; P8 D7 S q1 | W q& ~+ v+ D
{
" B% i/ k) p" |! jpublic:' D8 Q' w3 Z( E; E" B2 R" D+ s
QFuture<T> start()
2 P; l, i) |% E {
; A2 G( ?8 L$ p1 G this->setRunnable(this);, I! r3 g5 \/ W# }' j* z
this->reportStarted();
! Z: L$ q6 i' Q1 t QFuture<T> future = this->future();
/ I9 I- }3 _5 `. @) s QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);# w" [4 i4 B o3 ]7 m
return future;
% O: s3 L5 j; W# s4 q% B% G3 x5 ~ }
( q5 S4 `; {" b t7 s1 q+ n( \7 m, ]! \! q* C1 {
void run() {}
: V7 l' C: H s) U) G2 Q8 Y- R virtual void runFunctor() = 0;( L& N0 a3 N' [+ v2 u
};7 s/ n9 {/ i% u$ X
3 a; D" R: q1 l5 D1 f& W' Xtemplate <typename T>8 R2 Y) B$ c) d( C
class RunFunctionTask : public RunFunctionTaskBase<T>
3 S) l( B/ h; e: G/ W2 [1 z{$ E# w/ G; T/ T9 A. ]! \* Z
public:# W6 R) N) a. C* ~
void run()
; T/ q3 o( W$ D# y: `0 _ {9 L' `/ `2 G8 {( G1 i% C
if (this->isCanceled()) { y& r2 U5 E6 U6 v
this->reportFinished();
+ r1 X. g F1 A return;
6 P8 B% f; ], u* ]7 W! d. \2 D# t }
: J) b2 t% V1 v9 o! k( Q+ R' m this->runFunctor();8 Z3 |/ V( T9 _: r( @0 W
this->reportResult(result);3 v. r+ @% t4 {" D2 D7 P
this->reportFinished();6 M0 ?% o' s# `# m
}- {' [7 ?! X6 V C
T result;
: E! ~5 K, J% n8 e};
H' p8 ]7 U D2 ?9 c2 J6 \; ]. `) c
# G) G/ v# H/ [1 h( `" Ytemplate <>8 F: v$ [- j( G7 n
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
C1 U5 f* b$ ?# t' C{2 {5 a, I$ ^3 Y9 S. {1 M
public:
- h6 M2 G" q3 f2 A$ O void run()
$ w/ G, }9 ]0 ~. \: d {
9 v% @4 V8 W! l( W if (this->isCanceled()) {
4 ^( ]7 W' q! g a, x& z. m" t this->reportFinished(); `4 I1 m9 B. I$ D6 B6 }3 q
return;$ P. N/ L2 S. y9 E; E
}
- U ]5 t) p$ r: I2 u this->runFunctor();1 ~8 S+ \6 Q% l/ N! ]& a
this->reportFinished();/ b( ?; L6 B6 j# j- T2 M" w* S6 w
}
3 n0 ]! a9 d& M$ R+ e" f6 f" f( y};: {; C! K# Y( n1 X; A) {
" C* Y9 n2 Q, ~' l5 b! V7 }} //namespace QtConcurrent5 c9 g1 m2 r- g- ^
6 a. Z' i, R' \3 V. v! e#endif //qdoc
1 y7 O, z/ {& H
" e- I1 P' s3 q- YQT_END_NAMESPACE; ~9 H7 F' F5 {
QT_END_HEADER8 S, r: f8 i3 m4 O
4 @) K3 ]! |8 v
#endif // QT_NO_CONCURRENT
; F- q1 ^2 g5 e4 A. l( n
9 O m1 r8 D2 r* N( D4 M#endif& R7 Y, \" z3 l" b
3 M! K: n, b. ~- }# Z
|
|