|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- }0 i' R5 }! r+ G/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'" E1 y# p. d8 O6 p5 G3 T
; @$ l; K- G/ l' d7 G4 H这个头文件内容如下:" J4 q: a: t8 e& B' ^2 v0 _
#ifndef QTCONCURRENT_RUNBASE_H
' D' R8 Z: ?' S8 H% T#define QTCONCURRENT_RUNBASE_H
8 `8 _: P3 E( a$ J2 J6 a' @2 d2 z' p# q, }. Y' j
#include <QtCore/qglobal.h>
% e _# k$ m* C2 E' R2 M0 V+ X, C% t9 s, j3 @
#ifndef QT_NO_CONCURRENT
) R, x- q+ @8 S8 M9 W! f: P6 @ N
#include <QtCore/qfuture.h>6 u S: @- Z0 z" J
#include <QtCore/qrunnable.h>
& e, w! q% p; N4 X7 ?* b#include <QtCore/qthreadpool.h>7 R$ y8 T9 B. Q. V$ T, C ~+ A
" m3 d% h7 y/ r2 @6 @. G) P1 g
QT_BEGIN_HEADER
1 R$ J5 Y7 P2 e7 bQT_BEGIN_NAMESPACE1 `' m( k. k) E$ {9 j2 k( t; f
* H( ?4 T' x$ K( |! ?% S% g4 jQT_MODULE(Core)
5 D" ~6 q1 J; a- t+ x r; }, F
: h. b; u z; X) n7 Z. c) w% S#ifndef qdoc$ W( F' J& E' V. d
% m+ x4 B6 [" Q
namespace QtConcurrent {6 P3 n: M) _3 R* V T
`) M+ J6 `. u5 {6 btemplate <typename T>6 x2 p$ _. W9 o: \" {
struct SelectSpecialization
$ E8 E9 W& S7 t d) c4 d( ^{9 E; V, l: j! L) c6 z. k, f6 A
template <class Normal, class Void>
; X/ ]! \/ A1 p- g- l struct Type { typedef Normal type; };
) F& h3 b. t4 x8 L+ w$ C. h- O" U};" o8 y! W* A& p" \6 z; g
" N, O( \! y! }7 m* Ztemplate <>9 L- f* I! R1 ] u' A
struct SelectSpecialization<void> s6 C4 J3 X4 B' q0 U- Y
{8 ?3 q0 ?0 j0 Z) L
template <class Normal, class Void>
" R' C) ?8 L/ {$ z. O$ j0 o struct Type { typedef Void type; };) N m0 w& Y, _5 H% x5 W
};7 V* O. ^7 O6 f$ n6 b1 k/ h' p
0 K% u6 S! i" D6 n/ y. X0 ~3 R6 Htemplate <typename T>' w) a& t% G, ^3 H* {/ H3 m
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable5 B1 l3 h2 L% \9 G1 X
{4 r( \" V$ I4 g4 w
public:
( J' d% e; ^6 H' G2 @' J* O7 ^ QFuture<T> start()
0 J/ @- s& [7 Z {
& ^7 a' g3 B: l: f/ v6 R4 ?2 p this->setRunnable(this);3 I3 r$ _$ i f O( Q6 f5 F
this->reportStarted();
0 _' x% Y. \' M/ {5 Y; M5 T QFuture<T> future = this->future();% d( b/ H( a! p3 g* u: L
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
7 P" B: o) \; z6 O0 Z3 v return future;
" b* H7 i: k) I; Z4 h+ K$ z }8 F$ p# F0 ?1 _: T8 F8 Y R
% ^. O% _1 ]) v, T void run() {}) F7 v3 A' r4 b3 a' p
virtual void runFunctor() = 0;
7 R/ |( l- t Y$ a};$ j2 I1 J9 z: T# C6 }1 @3 d
4 m+ `0 l1 r8 X6 f' x. otemplate <typename T>7 c+ G* R D% R
class RunFunctionTask : public RunFunctionTaskBase<T>
" U, b/ K4 w! r5 F! V{0 s2 u9 ?% o0 t* L) p
public:
+ _( D$ `8 P# Z Z/ L8 j% p6 [ void run()
; Z- ?( j6 F! A {% U& E" Z& n" f2 e- [2 S% q
if (this->isCanceled()) {
# V4 `( y [- ]* j- s3 o4 z this->reportFinished();( G$ a' I4 i& N# |( M
return;
) B* b! E2 S1 M$ p! @% U i8 X4 m }
M" b8 ~8 O# x& F1 F; v this->runFunctor();
$ F! ~: W# K4 L$ ]: Y8 ~, [9 h this->reportResult(result);
4 q7 P b: S9 } this->reportFinished();' i! q& V/ x5 N# O. ?* M& b
}
& Q" L+ R" E& r, e T result;7 P @. V5 v3 m+ A' c
};9 h2 S; q* d# D/ i! D/ ]
# E4 c7 J1 n/ p5 G$ ?5 X9 L
template <>$ Z' h @7 c% U" @# e
class RunFunctionTask<void> : public RunFunctionTaskBase<void>+ a1 P9 _/ F' s/ n! t& W' L- _; C. g
{$ `$ O7 i' h% E- T
public:
5 b* r, n3 w- K( G( B void run()
7 B4 ]4 U% u& d1 z% r" W1 } {
' X* f4 V" u% Y if (this->isCanceled()) {, m5 o! Y: `) z% X8 j0 k% k7 H+ T
this->reportFinished();- i, S7 }- N( u) G. f/ V
return;6 `( M( t# B2 E, k- b; M
}
- n$ ]# S" D% b9 x. h4 b this->runFunctor();
+ ~4 M+ z9 |4 c7 G7 z$ M0 C* ~! { this->reportFinished();
9 I r0 d* d" M( ] } g' R7 B; a5 ?4 Q
};
$ J. E, f+ }7 O/ u L! \8 {( ]: k5 w3 J7 |3 u
} //namespace QtConcurrent
# Y, O; o, i z7 k7 D1 U! ~8 T" ~
) L; B6 p2 b) T1 U5 X#endif //qdoc
6 h! Y: T9 d/ C* ^2 c. M; Y- n* }( p8 M
QT_END_NAMESPACE) Q! ]8 M ^7 y+ ?$ S
QT_END_HEADER
% }, \; Q8 \8 e1 L# T: o; c
5 c+ w5 k+ ]- `& n- C( ]#endif // QT_NO_CONCURRENT
/ C" s/ o5 y6 |/ u4 {$ D# Q! y E
#endif% ]7 k3 @% Q, w; O
: _+ @$ x& S2 h3 k5 m2 ~ |
|