|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
: i. D/ j- U; b0 r6 Z2 R/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
# b' e% C4 ] p$ m5 l; }: `8 @) _2 D" _% Y, L* }8 a! g
这个头文件内容如下:
; |' R, S( ~+ ^8 P# [#ifndef QTCONCURRENT_RUNBASE_H$ l ?: Z& a6 e& B) m9 C$ o7 E* n* L
#define QTCONCURRENT_RUNBASE_H
* N' L0 M8 v5 U+ y+ C
$ Y" k& S2 ?/ i7 j( W#include <QtCore/qglobal.h>; E3 [+ @/ r' }
4 [% r, a7 }0 V; N9 l#ifndef QT_NO_CONCURRENT
& {8 X! v' ~) b. O K
" c# u" u7 O' j/ b. l# a#include <QtCore/qfuture.h>/ M C+ W. q9 ^1 x' u/ N
#include <QtCore/qrunnable.h>
) x8 j, Y3 f7 ^1 H( @; d. {; M2 z#include <QtCore/qthreadpool.h>/ ~' z% C7 V; n2 P# z' n
& ?) l5 E4 w7 r
QT_BEGIN_HEADER
. \3 _) G0 {; k* x- e+ BQT_BEGIN_NAMESPACE
6 I2 b, W. t t5 ~) o: |# V `& E( g! g2 A5 V) v4 t0 M
QT_MODULE(Core)
6 u% g2 B( Z$ x$ W. Y( X5 u
8 l9 Q1 W1 y/ i- R6 s l- v6 a+ R#ifndef qdoc
2 e* d4 g( F. ~' v4 w* M" `& \, P% m8 D+ a) d9 \6 H2 m
namespace QtConcurrent {! e+ f9 N _2 `* i7 z* c$ y* ~' e
! t* `% e1 a5 Q
template <typename T>( t) g( x9 z5 R0 |- I: J
struct SelectSpecialization# U% T- G& T8 z( t! I0 F+ Z9 `: c! F
{
# u; }2 Y- ~2 g* O, W template <class Normal, class Void>' Q- J7 J( _* I# a0 P1 b8 I7 I
struct Type { typedef Normal type; };
9 z: H+ J2 [3 ]4 u+ ~' q};
0 K7 k3 ?( c$ F0 W7 s* y
' Z- D/ Q$ P# N5 L4 y* x% vtemplate <>
. g7 u/ \8 S0 E+ u% @0 c0 Astruct SelectSpecialization<void>; ^1 G- Y. |0 g. Q- O
{
7 U" v+ f8 [ @0 j$ K/ d template <class Normal, class Void>
6 ~+ ?' e/ F5 z' q struct Type { typedef Void type; };% t- K& t6 M6 V7 S
};
1 O6 u6 O$ D5 U5 R+ E
, F* h* ~# C" x" k& m0 i8 L6 Vtemplate <typename T>
- i. y- _# P o! b6 @* g# ^( xclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
! P b" f/ s: t9 P5 |8 H) r& l- Y{
3 _" T' t# k6 Z+ I' b# Lpublic:
0 t+ \- j$ _7 o9 [* ? QFuture<T> start()3 ?; h7 F2 H1 b* j* K5 R8 U
{; Z2 _6 I0 \! ^1 x
this->setRunnable(this);6 y, k6 G0 E0 r: u5 X4 s. u0 M4 g
this->reportStarted();) R. i' R1 {; l! R
QFuture<T> future = this->future();
( z0 k$ {7 v9 y. e QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
/ D* w1 d; ` ~7 q w, R* V return future;& w, R$ I7 }6 G+ B( h7 I
}$ W6 X+ _7 z; S s
' H; ]# y" u& \$ T void run() {}2 P9 j* M- @- g' E5 X0 c
virtual void runFunctor() = 0;- G) E3 O% M, x* \
};4 g4 r& g; b8 f# `3 C
! R9 I7 I) w+ j! wtemplate <typename T>9 j9 h! Y8 ?2 G! {$ F
class RunFunctionTask : public RunFunctionTaskBase<T>
7 T- z% o: I. D( R{
- v: A6 U; x4 L1 wpublic:. j e% p+ P- r
void run()
& ^2 w' T, n" c1 i1 c, q {
# J! M# J8 B4 _( u. p- Y: U if (this->isCanceled()) {
# H; @0 b% ?" I% V5 o2 \( H this->reportFinished();- a1 p0 h8 v3 o
return;5 A4 ]) J+ A7 V0 P I
}
; `; X+ N" Q o this->runFunctor();3 d, ]& U8 t6 G' [/ x' V+ F3 t
this->reportResult(result);( {9 C8 ~0 h) D6 |( C/ P: {
this->reportFinished();/ g. U+ z" P( \! @5 t
}
$ E) P$ B2 w3 ~# B- `* r" m" F T result; w1 a" e3 J5 T1 w
};+ n! I7 ^. W2 B% j. n: s$ i
0 I1 m2 h: U- b3 L5 O
template <>" F# M) g) n' w. ~3 s
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
1 O! P6 X: \1 o+ R1 K7 v5 P{6 l* p$ ?" O" F- P" P' i
public:
0 A% o! Y$ n2 s/ m& q void run(), }( W, O9 q v2 G+ D5 m
{0 F7 D' A* R, }0 U! Z* r ]- N4 |
if (this->isCanceled()) {: F& Z; \( ^6 }& W
this->reportFinished();
6 m* Z1 D2 B* B return;$ N) `5 K9 X, u6 ~# l6 U
}
! t- ?9 A: b6 Q h- g0 o* O this->runFunctor();5 H. `- o% h1 y& x5 |3 n
this->reportFinished();
( s4 H; V: v( Z" ` }
; a/ C+ ~' F3 z: a( C/ c) `};' S) f8 Q/ Y ^# W
; S$ m- g1 a: s; @/ J
} //namespace QtConcurrent+ @+ c9 |0 y& P f4 S e. q
0 K! }5 [$ l7 S- }0 L4 e: ^) y Y#endif //qdoc6 n x. H% ^) A4 D+ V! l
) Z& @: F( _) u. dQT_END_NAMESPACE7 } R- e& x: }3 d
QT_END_HEADER& q& v2 n' r5 j5 C
& ^$ U" N: S- w9 _1 y#endif // QT_NO_CONCURRENT6 {+ H, u" }7 s$ W3 k9 H
8 I% q) G# `* I7 j C- {#endif
9 {6 z1 c2 x7 o6 \8 ~/ }, p* C% x! R, d& F) k4 z9 s; H6 B
|
|