|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
: i8 s& m& g' R0 P8 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', n' ^7 o, Y' v3 q9 |
# A- u8 A7 Q7 j5 v$ }, G9 X N! ?3 D
这个头文件内容如下:1 b8 I0 S0 k6 u1 b) N0 m% |: h( L3 J! e
#ifndef QTCONCURRENT_RUNBASE_H
+ o( b: Z& E: R# w9 d#define QTCONCURRENT_RUNBASE_H
0 \# ~6 D, q* C: D9 |5 F3 d3 n8 I. G1 R7 h! ^( n
#include <QtCore/qglobal.h>, R8 P4 ?, j7 W, p# I
+ d7 {6 {: u" F% ~' s f' Y" d#ifndef QT_NO_CONCURRENT
5 h$ F8 E: m9 g# V' I* A V+ J
$ v! o$ v2 G& |( A% d$ z#include <QtCore/qfuture.h>6 z# D( p' \: X% b6 E* ~% v
#include <QtCore/qrunnable.h>0 W% c/ ?8 l. D$ ?& B
#include <QtCore/qthreadpool.h>4 Q2 T' K1 C7 O& v7 R/ q
! f( N2 t7 `8 ?) l! m( y
QT_BEGIN_HEADER' f; @& R. U8 g: c3 c
QT_BEGIN_NAMESPACE/ C) z$ E7 `9 w/ A" x) M
: x3 A- [9 m3 j, z2 V# X
QT_MODULE(Core)
[) m4 l v2 u3 v; S" B k" |" B4 t7 `. b. u
#ifndef qdoc0 G' l) ^$ C) ^
! z# \8 k3 r2 o# D
namespace QtConcurrent {
( K g7 O* H9 i! R
* J9 p; w* K9 `: G1 Itemplate <typename T># m3 z2 i6 |% {9 \2 W
struct SelectSpecialization
! y' x% S# g! U' B: m{- @4 C- D. ~ x5 ?
template <class Normal, class Void>! q; D, K0 k4 O D$ b
struct Type { typedef Normal type; };' j" ]% f9 V6 h/ _" a6 f1 z, m
};4 ?1 ]6 f5 ~* T, d" K1 v8 V
2 h( B5 v: r b7 d+ P4 Htemplate <>
; \2 {4 ~7 D: |9 l! i" vstruct SelectSpecialization<void>
) |4 g7 a% F3 A4 C5 d: N) ?4 j{6 l4 B( ^ c3 P9 N" Z
template <class Normal, class Void>
2 i& j5 m: y5 v# h; a struct Type { typedef Void type; };
! ?6 k& H$ [! q# C& ~/ e};
8 w4 |2 ` s( n3 }" X" F
, a: c3 H. f! _2 stemplate <typename T>
. L* J( N" T/ U) }class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable0 u5 m% o5 k' Y3 t) [
{" s% o, K+ f q8 `# \
public:
; `1 M! {' u, c; |, B- H QFuture<T> start()
! c: u* M/ d7 h/ L. c& a4 w, y {' I& r# C& Z3 g$ y2 {! H
this->setRunnable(this);
9 Q |* Z r1 C# ^/ ]* O* A this->reportStarted();. J; A/ T/ O6 |& s
QFuture<T> future = this->future();. Y1 D( p) N5 j7 O2 y
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
% n7 h. g9 j% Z2 z0 z return future;, K6 j3 x3 S' V: ~- \) g$ N* v
}9 w1 v* |8 i5 {2 Z- \: m9 {2 m
4 y' L f8 z9 b% ]% @$ V( @ N
void run() {}
; a& X/ K. [1 b. I& M ?( n& {1 `1 U virtual void runFunctor() = 0;
/ i" i$ l0 i2 Z0 G2 v$ e};! l$ `5 Z! w/ g. O) b7 {9 C& K
' m; t: Q0 W- _8 P% \% {3 btemplate <typename T>
, f) y6 ^% s- s9 F/ sclass RunFunctionTask : public RunFunctionTaskBase<T>( f# F% E# H' A& @- \2 Y/ ? A2 [/ R
{
- k' @4 w6 T! z" Cpublic:; c! f8 ^2 W- w: V y
void run()) j$ M0 ~+ u2 v }! ?
{) s# |/ ^' q0 J5 y8 H7 h
if (this->isCanceled()) {
8 k" T) k0 _, f* Q' w% J this->reportFinished();
% B$ H7 E V$ R/ { return;
4 P5 m7 B$ o4 I7 f0 X }
8 ^0 t. s/ z, S v& ~( D, j this->runFunctor();6 s5 r$ @+ H, o. N% l2 _3 t$ |
this->reportResult(result);
! c( Z8 @, v* @ this->reportFinished();
5 m9 g: U# c0 d# F2 { }) w! j3 R1 X7 G2 p. o
T result;
- ]1 u* W+ O* F- i};+ ]5 V2 f z6 S! T
* k* t, {. }% `+ ?" u8 V" b- j
template <>
, R+ P+ I p0 K; ^6 [( kclass RunFunctionTask<void> : public RunFunctionTaskBase<void>9 p: p# r! ^& _7 _4 X7 b, I! r
{" ?1 Z& y1 o6 F* }" V5 K
public:
# \& P* S b, X void run()
' m7 C: I, Z6 F {) Z! v1 {" q1 {2 s1 r' Q
if (this->isCanceled()) {
Q) J* O, U2 u$ W( [ this->reportFinished();
0 P, B% g7 c7 n- k& O return;! T2 F7 r9 L- {; E
}
/ v$ s/ w6 ?/ U) d7 J k$ U this->runFunctor();8 H$ a! N4 d K7 |6 [; A! R; g
this->reportFinished();
( F+ w* v# |9 m6 E% @ g; ] }
c2 f9 `+ ?" V$ e};" _* `2 b" f2 R
6 S A4 x0 ^' C4 K} //namespace QtConcurrent
4 R/ ?# s+ x8 j* b( e
$ _$ W/ s8 K# e% b1 t( i" u5 X#endif //qdoc
5 w9 y) m' G0 u3 v \( E% L! t" S6 v% e3 R1 S) H! l
QT_END_NAMESPACE
: W; T* P c0 N1 {2 O n2 Z$ e1 @1 CQT_END_HEADER
: R1 |; T) z+ R3 ?
8 \% Q8 a6 c5 w1 A#endif // QT_NO_CONCURRENT5 C; o" ~+ q& j2 t! I$ D# [* M
6 B- v5 Z$ f6 D3 h0 u/ h
#endif
( s* L2 P y1 g ^' X' O# n# q: s/ `$ J% v
|
|