|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* w4 v2 L; s7 M2 [/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% K1 W0 ], Q9 n! Q
! E9 p5 Q% N# L7 d H2 ^; Y这个头文件内容如下:3 l/ M; k! V7 a; \7 T E% g0 \: u x
#ifndef QTCONCURRENT_RUNBASE_H
+ l7 i) S. u; ?0 Z% F#define QTCONCURRENT_RUNBASE_H
0 K: }4 d. \ ?! R& d6 J
) A+ S! `& C) _4 a- i#include <QtCore/qglobal.h>6 p5 n9 v: K- t" e: }! N
4 k# j6 E+ U0 O/ A; f6 E0 Q. y
#ifndef QT_NO_CONCURRENT, y5 V2 l* N' R; o, ?6 m
1 X6 V* c ?5 l#include <QtCore/qfuture.h>
# s, X( I2 p! v8 b% L* ?7 o/ ?#include <QtCore/qrunnable.h>
, L0 h4 n, c! X9 y- v#include <QtCore/qthreadpool.h>9 d4 @- z( B7 X; B
' n1 r8 I9 l) ~. l# b4 c
QT_BEGIN_HEADER i( k' t) d4 e: v
QT_BEGIN_NAMESPACE
' h: V+ e) f7 e4 g
/ e/ u$ f- n9 m0 G" F$ R( |QT_MODULE(Core)) m+ B; q4 D0 x1 _
/ o( L5 m1 \; i6 b9 ]8 i#ifndef qdoc2 X2 a$ O2 `. e
7 H( _- u9 W4 u' ?7 ?( J {) q
namespace QtConcurrent {3 N& F5 R! F# v H+ |* ?/ K
% F' r1 m+ t* V6 i# a3 B" B' F7 htemplate <typename T>
% K R$ i/ J6 Y/ ~1 [" hstruct SelectSpecialization
0 f# H# a, Q* G: n3 H' }{7 h) k8 n& B7 }" u% t5 H
template <class Normal, class Void>' h2 H' M; G* C" i' ]2 A4 h: |$ V
struct Type { typedef Normal type; };
8 L3 y" M1 D+ c% a5 M" {};9 |/ W8 j$ R0 X z+ a( t: [, ~ C
8 m1 U; U0 A; p4 A& f, i8 vtemplate <>$ z% L2 v& e% r3 U/ s/ y
struct SelectSpecialization<void>5 D8 b; e1 q' [# T$ P
{7 Y1 o% I2 z, k$ h. v
template <class Normal, class Void>
& F3 A9 E8 o0 \: ?* _ struct Type { typedef Void type; };
1 z. h$ o2 a# I$ n};# F% V/ r& H" L8 e
4 M& l! W% F$ I0 Q# _0 I! [) `
template <typename T>
- r7 Z, U6 }" s; xclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable2 v& O' l+ i! I$ w
{
# f0 N% M: v4 T3 Ipublic:
% Q t3 l# i+ p1 k* U+ k% j( J5 s* G QFuture<T> start()
6 I) A8 e) v) \. B8 F {
$ Q2 B: |, T; u1 _) n+ U: ] this->setRunnable(this);
8 ^, [+ C3 i6 Q1 m- b! b; h this->reportStarted();
6 P( T! D- x2 ~# ~ i QFuture<T> future = this->future();8 a( ^# g& m8 Y. k- P6 G
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
% V' F9 @4 u, h3 |) _2 T a1 V return future;! H/ U& G% a* A; p- | g* I+ S8 t
}
; ]" ]/ ]) f) N" x p# h6 ?! d9 R6 c* |0 F8 f5 G2 t. q
void run() {}8 h. g2 o) ]1 Y/ X- T, U% M
virtual void runFunctor() = 0;
5 u5 W, p# K5 E$ @, ]8 h/ H};% ~4 n. ~6 G( G4 j2 z/ h" U. I$ n
! w1 R9 M, W8 b0 o4 [ Ttemplate <typename T>0 r$ P, H5 ^, q& P. G; h" i
class RunFunctionTask : public RunFunctionTaskBase<T>
* v# r% x9 B4 ~7 Q{$ u# A9 i$ D7 P8 ~% g; q6 z
public:
( z6 v3 b7 `% _1 H# `* J void run()( r( r h1 a) \: X3 p, n
{
6 Y. n9 z5 }3 a3 D if (this->isCanceled()) { t) h4 i; f6 l! k7 C
this->reportFinished();
0 d) F" m$ t1 w: ^" U: T" F return;# |9 l: r" H# U+ `2 l* X
}4 k& b K: c) |4 n5 }3 z" t3 |% |# i
this->runFunctor();
3 O1 r" A5 \$ M2 d% @# A( U this->reportResult(result);
1 P: g, [7 L6 [, a this->reportFinished();
1 ?& p& o) h9 B7 N }4 O+ P- O* K: B+ J
T result;
) T8 x0 {' k r1 v" o};
! c- E$ W8 x! }6 T9 a Z
& M7 t( x# f5 V$ }4 c7 f$ t4 |4 S; ~template <>
0 I9 q- m" m# d3 s; b% {% Nclass RunFunctionTask<void> : public RunFunctionTaskBase<void>; U- p: |8 a& w) m. f
{5 A8 x7 h0 H) F9 M! P, [
public:
% j) \. L7 e. U5 C1 M4 P" [3 \6 U- T- F void run()
% ^6 ?! S( x3 h" N ~& J4 q9 n {2 `0 T' s8 ~( \0 ]' u
if (this->isCanceled()) {! p+ z D+ z: q& B# M4 u
this->reportFinished();
$ T& N7 q! ]- a3 Z, X return;/ E, ]5 t, q* a- _ W0 P- ]
}+ c" ^6 g4 s% E
this->runFunctor();/ Y ^/ y2 X) H
this->reportFinished();
; x! g% `/ Y5 E8 O" U }
4 J# ~* s0 t$ T9 T; j};
6 O& v) ^1 F% d% J( _- v( X8 F( P/ R
: @/ m: P: P1 N# \} //namespace QtConcurrent
. l( a7 N: o, ]* q; s- k* x+ d
- H, |2 \1 F$ a% R#endif //qdoc
* \, m1 Y& n8 x8 B
5 q+ N% q' C5 x- Q1 z" o* yQT_END_NAMESPACE
5 \- N& s8 K h* P2 o6 hQT_END_HEADER. @( [; c) S, o) l1 {5 D, S7 _( T2 i
( H% e+ i2 Q: W6 C0 U
#endif // QT_NO_CONCURRENT
& f9 [9 P/ f+ {3 L% U/ C1 t P+ B/ |9 T
#endif' p& { ^- V0 u
4 r- C5 Y, d$ p9 W5 S0 l: d- t# M' s
|
|