|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
/ U3 o7 A' |! E2 u7 Y' z4 U$ Q/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'0 d7 j( F- ~# M# w3 r" z' ?, B
, G+ A" `' ]# E$ g4 v
这个头文件内容如下:" w( s$ P1 m) d
#ifndef QTCONCURRENT_RUNBASE_H
9 ^! ]* q0 k) b; V! g5 y" \#define QTCONCURRENT_RUNBASE_H& p. t" }* [( O
! r1 ~" T) B% m4 m
#include <QtCore/qglobal.h>% N; O* H8 l8 l, ]1 I
7 V% W9 f* f$ k
#ifndef QT_NO_CONCURRENT
& {4 Q& r9 Z8 Z
1 _0 N) w/ h, \#include <QtCore/qfuture.h>* W* w9 t2 @6 {5 \+ M; B0 j- r
#include <QtCore/qrunnable.h>
$ Y7 y. m+ Q4 @#include <QtCore/qthreadpool.h>
" r: t7 _7 o' [, K
. k; ], M+ s! M/ Z' C( O( [QT_BEGIN_HEADER$ z2 @4 Y9 U& @5 @8 M2 v4 L
QT_BEGIN_NAMESPACE
( \: y! {5 `, C3 s/ |8 Q( V
^( t- J1 [% m8 yQT_MODULE(Core)
& b5 p1 x, s" ]' J! E8 v1 M+ P1 y) i* [+ Y( A
#ifndef qdoc
( A* M0 _0 E' u# x- s$ q; c) H9 W- l4 B3 g0 B
namespace QtConcurrent {
3 }8 y% ^+ e" } r- t$ G9 @* c8 ~ h: o
template <typename T>0 P0 j+ R) o+ r# F
struct SelectSpecialization5 `# v! t. |0 k. c
{
) j' k# r( L% s: @! b template <class Normal, class Void>
- p* \+ A" J" j0 n2 X8 O* m struct Type { typedef Normal type; };
, j* n4 N5 p5 @* t/ s6 X};
* j( H! X: Q& j& j# c# F. I, E! o1 E0 }
template <>7 f; h: Z7 x4 O* l& c2 s+ x* V
struct SelectSpecialization<void>. S( G* g/ F a0 L
{: W# L+ j# \5 a) \* ]
template <class Normal, class Void>: T/ \# l9 u2 d( l9 v8 y% E
struct Type { typedef Void type; };
0 a4 W) d: K/ y1 w, Y( h- x8 L};- J5 ?2 ~+ H% D; K
; ]6 L( s$ h& j- q( q" b+ x1 n
template <typename T>% D2 O2 r( l: g( w$ g
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
{+ d( {1 V, R6 S7 @5 _; M{
3 }4 \1 j" R8 }8 P, D) Lpublic:
+ _2 A! V2 F3 T2 G QFuture<T> start()
& Y9 M/ `) A0 @ {7 \: m7 Q" v1 \; W
this->setRunnable(this);* G' Q5 N9 l' y: L9 W
this->reportStarted();
& Z: }* p& i9 R2 C; R/ y l QFuture<T> future = this->future();
' F" P" v1 ^5 V7 c5 V: L5 ] QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
5 H4 E5 }$ u0 {& R7 S- {& v return future;
, W4 h/ k9 i& d- w7 x }
) h1 Y( q( o2 J2 t+ [1 W
4 q2 F e3 E2 O* e# M( Y3 o% e void run() {}5 ^4 g I5 P+ v) v+ e! ?
virtual void runFunctor() = 0;
; I: Q& T, t7 ]. {, `, f' {};) z! O5 M: G( v7 L
+ J: y# Z# P9 K* ]$ Z; B( h) u; ntemplate <typename T>
2 I! t. j, }2 k/ A6 E/ i# V- fclass RunFunctionTask : public RunFunctionTaskBase<T>
# i* G3 ~" }$ A; c8 \0 R ]* {{
% T: Y# {0 ^1 b4 E3 xpublic:3 O9 t) [# Q* x0 ~6 ^# m
void run()
( G p, w- L! ~, o2 d' d+ I3 a {+ `, S. g2 ~6 X @! n; f
if (this->isCanceled()) {% U! \, w- o+ d# ^
this->reportFinished();
) e8 w- R V7 r# O$ B. B2 j8 V return;
2 ]6 m& c* D X0 j7 c4 N }
- _' @5 c: I+ G this->runFunctor();# T0 p9 N* w( O( t% B1 ^. {
this->reportResult(result);
9 G4 y3 ]$ x- K* x this->reportFinished();
5 _. C0 S. `$ E: O }
* K2 |) [6 S0 C2 P2 ~ s6 g T result;( N+ f5 ]5 X5 W. `% r
};- M3 F$ U( o: _ X1 ~, l
/ c( _5 K% F' a7 _/ S% G
template <>8 Q( @7 O; L: U
class RunFunctionTask<void> : public RunFunctionTaskBase<void>% d Y0 G* G% N! l# \. O/ \
{0 Y% ^: _% U) E% F2 z, l
public:# e. t2 V& b% ~1 U( `3 Z
void run()7 D( T& p$ N8 t+ W
{
0 O; o- ?& ` [ if (this->isCanceled()) {7 J+ i8 m1 b( W1 V% h7 }# |9 J
this->reportFinished(); J4 @( \/ [' N. Z
return; p2 { Y* f2 Z) @5 u
}
! b2 F9 o0 _2 ]* I this->runFunctor();/ A5 x: w( R9 M; v( _# _- M& V
this->reportFinished();( S% f' j3 ]+ h r8 B9 f# r) i/ q
}
4 }, i7 G; G7 H6 s};# ^, X! ]6 `4 H4 X3 f
% [" B' \# o4 a% n1 I
} //namespace QtConcurrent, v, D- ?, m* Y
* }. a4 O, c+ t$ |
#endif //qdoc& v- Y0 }/ ~# |& q; z: t3 H# {
" d2 D9 J Y4 {. ~: oQT_END_NAMESPACE
+ D& u9 B2 v. J0 n& q% a+ A2 \" [* }QT_END_HEADER
8 U- f5 k, X) C1 R4 ^
; h+ |5 [+ [" z4 n5 H#endif // QT_NO_CONCURRENT9 @; _/ X3 Y& @/ D2 V
! W2 {+ D- e1 x3 r8 D5 i# b#endif) n3 u5 l# D. W4 P3 {9 q
: _) T3 D! @" @* J |
|