|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
W+ m' e8 }$ l/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'( e7 i) K( z0 Y6 m+ X- c8 b
- t; G% M8 a6 T
这个头文件内容如下:6 F1 T; W4 o* X; m7 a; y$ ~$ V: C, m
#ifndef QTCONCURRENT_RUNBASE_H
# o, T# K# P( G0 v+ v8 b#define QTCONCURRENT_RUNBASE_H
, z$ R( V/ s0 l; \. \2 d2 E9 C5 q* H/ M$ `8 `8 T3 P% {1 S
#include <QtCore/qglobal.h>
' C$ J4 q% R: o/ R. p( Z; }# ~7 p
* f9 V% `" }4 r- t6 e#ifndef QT_NO_CONCURRENT
8 R! {- H7 l) G Z- q9 T; d' v' w
, Y0 q; J) @* v$ r3 [. ]#include <QtCore/qfuture.h>
/ O& K; [/ Z6 C8 g#include <QtCore/qrunnable.h>- @( k% H+ M; T+ ^) S9 b) Z( A
#include <QtCore/qthreadpool.h>
( }: `- e$ X1 E* w7 S+ o! U1 C% Y; ^/ i
QT_BEGIN_HEADER# n! Z2 U @9 u1 L. p$ N' q
QT_BEGIN_NAMESPACE' a5 l+ `4 Z6 e* d& @( n% O. x
+ Z9 M7 g1 E* G% x+ q2 x& N2 mQT_MODULE(Core)* ^" ?# u' O8 @8 X- L& x
* p& l+ c; r6 N
#ifndef qdoc
5 F! I; O, A6 Y. a0 ^4 }% @9 M) s$ K& s i& ^
namespace QtConcurrent {
# {% U% e8 \' s; c$ u, D1 S# Y% J3 E
template <typename T>
# g- U8 Z' O& m( ustruct SelectSpecialization
- Z/ y& w* s! U1 D# `- p{
% N: m. q( u) q5 b# c8 \2 U8 W6 v template <class Normal, class Void>
, O; P3 b: I5 a) _$ P9 u struct Type { typedef Normal type; };5 y5 U/ _& z6 O4 ~# Z6 J6 ^( a
};/ f; F+ D9 D* ]+ c2 X
8 ~; ~% ^9 T3 {3 U( _* y0 e( u6 y
template <>
4 S' w X( \& Estruct SelectSpecialization<void>
/ W5 @( R& G% n: W2 n3 P{ C$ b' l$ f L' n2 C: t
template <class Normal, class Void>
+ |1 `8 L. b+ @ struct Type { typedef Void type; };4 x8 y8 F1 [1 }1 A$ u& q0 B- {
};
- U8 r, L! d3 C# [6 ?1 V: z% J3 ]1 e% Y$ J% @- d9 V
template <typename T>8 B; b' r3 X! B* X) C! ~ E
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
/ @1 t3 j5 o, P4 G; u: O{5 X I# x8 W% n# H
public:
2 }6 q! r! f7 ^ QFuture<T> start()
8 p1 A/ M y" E7 o9 R {, k0 c# m8 e" T r+ p- u
this->setRunnable(this);
6 f9 @/ B- J- r {. G% M this->reportStarted();
4 d9 Q! q/ B8 F5 s& j QFuture<T> future = this->future();5 I3 v. Y( b6 `( z# F! [- c
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);. [; z; K- W# J( T) |: X/ w% W) ^
return future;
* ?3 N( o: o1 G% z G }3 |% E/ j" z# J1 ~3 g
2 `3 K4 o! p8 p# o+ F( }
void run() {}: @* u: o% C2 L# b) H7 f6 J$ H
virtual void runFunctor() = 0;+ m7 \7 V% d% S( Q# E {+ E$ n5 Y' O
};
" W6 t3 F% W& Y/ n1 `" g$ E
' G6 z% o' w; x# z* C# a- T* Dtemplate <typename T>3 m- a4 C d8 u$ y O/ J- l
class RunFunctionTask : public RunFunctionTaskBase<T>' M- a* \) Y6 Y" a) a
{9 @: d- a, |3 l. K( l
public:1 i. O/ ]! N0 m4 j% @% g
void run()
4 l6 f& a5 R# p. U9 A9 k {
5 D, x3 C% q+ Q9 K) l: @5 G; H2 u if (this->isCanceled()) {
& }/ U6 i& w7 [* p2 f5 f this->reportFinished();' s b: r) B$ O$ G1 y+ H# `/ P* |
return;
7 ^6 U- H! T- ]% T3 [ }
9 d8 g C7 U1 U Y, b; w" D( o' N+ W this->runFunctor();9 B& P9 @7 B/ z! }8 T
this->reportResult(result);
# O7 a' m; p6 j2 a, C) a6 X) I this->reportFinished();! m4 L# C- B6 [& w% k9 z! ~
}
& L5 F& T5 i f: J4 ` T result;/ a ]9 N1 X8 {2 j0 q
};
6 c C, b& m4 @1 ]
) t; C- F7 `. _/ Y8 D q4 ztemplate <>
4 `$ G% o2 ], Zclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
5 C5 F' k9 m+ C" M W# [+ x{
2 e7 C2 [' p. [! g4 h3 A) L5 }public:
8 U5 x7 i# S$ L7 h* V! b void run()& U' o3 P2 B% x5 f
{$ z6 j+ |! F: J
if (this->isCanceled()) {
& ~ S: I% _0 D5 O this->reportFinished();3 o/ X9 F7 R; j) u1 _. H# F
return;
- ^5 n5 A( }% w9 W/ N0 s# G }
$ S! h v* k! {! o1 f4 t this->runFunctor();
p, s" ~! f5 y3 j( B C this->reportFinished();
1 ~4 h V9 d7 n. h, |, K }9 V+ N0 I5 p; v3 \6 K
};7 ]4 i8 T2 y1 A4 x3 q) a3 z0 }
' F5 _* m) g0 U6 @7 E; r+ \
} //namespace QtConcurrent
) s6 n8 E2 Z* U8 g0 c2 @
. g- h) F5 {, M3 W, v#endif //qdoc' h: I' R: A% X8 K8 U6 y) m, ^
# i8 I) i6 h$ j& ?, I" J
QT_END_NAMESPACE
! N: d2 |% Q& B9 d: [( r1 ]QT_END_HEADER r j3 {% Q, B! h' y& h8 [ K
6 X* t9 K" I( s0 ~
#endif // QT_NO_CONCURRENT
% y6 _4 s" F- P1 w. Z
( q$ e/ y5 J$ [. X% j( ^: c2 I' {! w1 {: p#endif
. ~6 \4 f E' b5 V5 `" G: v/ o8 M) r/ k6 y! }# C+ }
|
|