|
|
我对syslink进行交叉编译到arm,但是出现如下错误:3 h. g( K' W' E' c4 x/ 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'
- g2 p! [. i1 f, Z% n, G M6 ^% ^. I* |' W; [3 T/ f* u" Z* K% K& z. s
这个头文件内容如下:
; H3 S, x% w' b3 T#ifndef QTCONCURRENT_RUNBASE_H/ b2 X5 A$ S3 `& j
#define QTCONCURRENT_RUNBASE_H/ {' Y4 R h/ v1 k, J; m
7 b$ |. a! d" r; U) }5 ^
#include <QtCore/qglobal.h>2 P. v& W& B5 c* P0 l
' c! e+ l, y0 S `#ifndef QT_NO_CONCURRENT
9 ^: r9 t: U& c% a' l6 Y T5 c3 ]0 u/ R9 p
#include <QtCore/qfuture.h>! f% _8 |9 b6 {( y. B$ p
#include <QtCore/qrunnable.h>: v! u" @5 F: h
#include <QtCore/qthreadpool.h>* w( i! ^8 T, i7 Y
( Q3 G, f5 E& p T0 ~! _QT_BEGIN_HEADER: {. V7 N: B6 V! J2 i5 r
QT_BEGIN_NAMESPACE5 F4 _: V8 S; r9 ]" G8 ^
- t$ w3 K: U6 @1 v* F7 VQT_MODULE(Core)
6 w. ?; _& R# w1 d/ L
/ _: J3 n0 P3 ~% e# E" _#ifndef qdoc& ]: l8 R0 \( `$ r5 l
7 i0 e+ Y4 j% ~8 nnamespace QtConcurrent {
9 |( H: ?" P4 ^8 T8 f6 q# ?* m
% `( x; |0 y% i$ p7 itemplate <typename T># a, [4 k" R+ Z- E! x
struct SelectSpecialization1 i: i/ J+ Z5 C+ P
{( z2 k! E" O- b4 U- e H) a
template <class Normal, class Void>
f! ~9 _ c( ]/ F- p4 J3 W struct Type { typedef Normal type; };
7 M; _' I6 g2 V( x/ ?4 {/ d l};
+ H1 S& |( G# T7 U. w c3 I$ D1 d- T4 S! u8 x# t" }
template <>
6 s/ A/ ^; K I0 i, O9 ^) {struct SelectSpecialization<void>
. g/ V, J n9 l2 O{
D$ w4 S8 N, ]0 r6 H template <class Normal, class Void> c% m K3 V2 O; H- B
struct Type { typedef Void type; };
7 f# ~1 h1 {- t- x- A};2 s0 l0 c, a, W2 g3 y. P# i
- T: \, A2 p( a) n# x# m: M B
template <typename T>' {2 b5 v5 |2 t4 y
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
O5 m" [2 z: K% j, ]4 m. N{
% J- T3 Z+ q; N2 A9 c7 |public:$ Q- T" n) K2 s# e: ^' g3 F2 ~
QFuture<T> start()0 `+ z+ O0 |7 P- X [/ ^. a
{4 v6 K+ p0 H7 ~! ]+ ?
this->setRunnable(this);! V; ~, ^* Z' R j; Z( M
this->reportStarted();+ m# z9 X! ^& G% p* F) r
QFuture<T> future = this->future();1 k. _* x8 B Z# f" V7 ?
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);; X, }; i9 [6 I% ?( j% v
return future;$ X; v2 L( J' G
}/ s- a8 q9 H+ y/ `* k- @2 e2 R
9 N/ R( u3 ?1 y) {' V void run() {}- B) {/ C! F, N
virtual void runFunctor() = 0;5 c/ x4 c5 [7 p$ U- ^; B
};; \2 T) {6 x! i9 h x
" M; A3 L9 G- Z: M+ j4 s6 H. y) b# { r1 @template <typename T> h2 P# p" K3 E% q
class RunFunctionTask : public RunFunctionTaskBase<T># H1 I" x% A9 m0 m% W
{
5 M# f: h! p( G, y: b3 ypublic:
5 k d# w' s$ k6 C void run()- M( r; b7 h& [1 E. v/ n
{+ @1 V. q( J" Z* o3 u
if (this->isCanceled()) {
: Z' V1 Z' M# z% R8 b3 y5 L this->reportFinished();
) L$ v$ m4 Y6 m: I, F return;
' q% @, f7 v8 G4 n( g2 ?' K }& t% O& G% d% p8 h6 m1 N
this->runFunctor();
8 w/ V+ b; {5 o0 j this->reportResult(result);
' g- \0 a* w* l( O8 b# n* ]1 Y this->reportFinished();
5 Z% e9 @5 L7 H+ }8 ^ }
3 s* G6 r+ F) H: d T result;
" ^4 w8 i" _) D" t$ ?2 a0 {% ~};
; A" u p+ \! H- t$ d' x6 P. b6 `" W+ O, G% f7 e5 G( `" R2 {0 E$ k
template <>
/ }2 o [ C) ?8 g/ ^2 |class RunFunctionTask<void> : public RunFunctionTaskBase<void>
5 M2 I# s/ J. ]9 K9 w! D6 v7 G8 p{
0 t, h5 L& A, ^; f+ apublic:
8 O$ ~+ ^- |; g; j0 z void run()# B/ t: t* q7 I6 t0 l3 S5 f
{" r) ^' G: D. L6 T% Z% m
if (this->isCanceled()) {
7 {; O/ C3 y1 d6 i0 O2 d2 ` this->reportFinished();
& W0 }, c3 g( m% J! } return;: R( \1 N9 x: t8 B
}
" A# }5 l7 N2 c. R) J3 \5 s9 p6 r9 A this->runFunctor();
2 Y( h& j5 ]- J% t# ~ this->reportFinished();: t/ V: }6 e/ F: s1 B1 z
}5 j; g& X( o) `! o
};
& q$ K7 S# r1 V# A6 U$ c2 b. W5 j7 _$ Y e. D. Y
} //namespace QtConcurrent
* j) I/ C' E( `% O2 R2 T* A& e. \* R# \9 T, Y
#endif //qdoc
" g, p B% M* ?2 O. u* v* z6 f* I
: }5 ~# f" k2 O3 z. t' jQT_END_NAMESPACE0 R9 C- e* R1 j
QT_END_HEADER$ x/ Z/ q4 I6 q% L! d3 p, M
; C) u+ }# z: i#endif // QT_NO_CONCURRENT1 l/ b8 R& X8 R* B/ v: [
% F7 i1 K; m9 T0 V
#endif, {5 Q+ T9 z: I% H% B# B2 t
$ |8 P' U. D/ h. L8 ]
|
|