|
我对syslink进行交叉编译到arm,但是出现如下错误:
" H6 o# p5 D! c* Y3 I0 |; n/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
9 \3 J+ x( E& } x5 B
) l3 m6 }" p) p' Y4 x; F这个头文件内容如下:0 `8 K7 D1 J0 ~. F- p( z( B
#ifndef QTCONCURRENT_RUNBASE_H y" R( t- m+ Z: I
#define QTCONCURRENT_RUNBASE_H$ J$ h1 l4 U, C2 f4 k# u7 t
: I, v% i) `( N! G. o#include <QtCore/qglobal.h>( j3 ]: @0 c# J/ b$ P* S
6 C& z* Z6 ?) n: P#ifndef QT_NO_CONCURRENT
3 R) s7 M3 l( X6 @. L+ |* ?
7 K2 w X- K& p+ O0 X: g#include <QtCore/qfuture.h>
7 U0 W7 Y1 W6 U0 l: g#include <QtCore/qrunnable.h>5 ^1 ^! ^3 |) ? \2 t
#include <QtCore/qthreadpool.h>
0 i# ~7 q/ Y6 H7 f& Y7 ^! d7 T1 I! G0 b6 l& e. f
QT_BEGIN_HEADER
; K. y2 ^/ E) U* s: uQT_BEGIN_NAMESPACE
+ f( F. @% v7 p+ K, \2 _
0 |( d/ L5 A; jQT_MODULE(Core). a; C+ c8 J* A, k
4 u% G& t- _' O; \% Y/ N
#ifndef qdoc
0 H* ~* V' W3 k9 K
) ?4 z$ ^7 \. O( Y& g' H- Jnamespace QtConcurrent {
9 D" j3 X j$ t$ G; r, p
9 q! \# n( f/ n" y6 @& M; H- }template <typename T>0 r. x( b1 T8 n. I3 D
struct SelectSpecialization, q; M3 Y4 Q) W6 c! |
{
0 J0 U+ N- D7 a, O' [! G template <class Normal, class Void>
$ R3 g, I, s6 b; W struct Type { typedef Normal type; };/ A6 d7 w/ x" X7 r; h
};
& O' Y& G7 q* E, K
H1 L( ^2 B: \template <>
& G* K( t2 O, R/ |, E8 G" t+ Ystruct SelectSpecialization<void>
4 T4 l3 t" _! e( Q; b8 c{
" F7 ^4 o8 |" N template <class Normal, class Void>
1 V2 I4 K: ~* d; _3 t: t struct Type { typedef Void type; };
. `3 i/ o, [5 v/ q};
) H4 R+ b* ~0 L5 K) O/ h" T
4 Z0 o4 j3 \% U. L3 l& Htemplate <typename T>3 R/ r0 E) B7 E
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
: K6 h2 u% ~: x6 j7 G{
6 m Y7 @6 u; `2 }0 e! k; k4 l: ?public:& O3 G& f( B2 k( q4 l
QFuture<T> start()
7 x, O4 x* M$ F% b/ b {
7 E" O0 W: T2 C5 r7 f8 u8 C this->setRunnable(this);
/ w! M* B4 P9 [$ T this->reportStarted();" z# T7 V9 V2 U/ r/ A, I, e
QFuture<T> future = this->future();8 v6 q4 p1 B, c4 Y$ G6 V
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);, U2 ^3 H$ F( W% }" j ?/ e
return future;
/ B" V( C! j2 E# O- T }% \1 m- E2 g2 z4 m' B( _7 Z7 b' f
1 m2 j" O- O7 } void run() {}9 h: N& Q; s! g- l
virtual void runFunctor() = 0;
& M8 r& I$ w$ V' y};
5 B) A I) I% \" A
$ @2 t5 E; q2 S0 ?template <typename T>4 U) b2 ] i5 N& ^* \* P0 L0 H, w
class RunFunctionTask : public RunFunctionTaskBase<T>1 |! q8 k" ]/ Y5 F9 @$ g+ I
{
# e% X( k1 p2 |& j0 l# Hpublic:
) @6 t6 L( j, t H void run()9 K8 C' N- a9 }2 l- i+ D
{
8 r8 I4 @3 ?* A& Z0 p' b, ?! @ if (this->isCanceled()) {
3 Z9 d7 C2 \( O; }' J T) ] this->reportFinished();8 P0 v% S$ C- Y3 J
return;
& e- y- Q$ S' v) P7 P' U } N) F& h% V5 U1 t' b9 @
this->runFunctor();$ _. T1 S+ V L6 G, `
this->reportResult(result);
9 I* m% h, Z+ Y3 g' K. g6 s this->reportFinished();
9 ?8 R) c1 q% V: J0 G( ^" | }
" p- x G$ X5 X8 y( I- M T result;$ j, S( t% Y4 `
};+ K* i& S5 ~1 \; p+ Q5 Z
9 O N9 v" O& c5 C$ X! Ttemplate <># y7 [$ y. _0 t$ Y: w3 c4 G
class RunFunctionTask<void> : public RunFunctionTaskBase<void>8 j1 O, ^. U) W. U
{/ K1 T$ q. T0 c5 Q3 z
public:
4 C/ Z& \( g0 v8 }$ | void run()- U$ T* ~/ G4 ~. i
{
) L5 }5 x/ O. y/ k4 L if (this->isCanceled()) {
4 W. t0 e% z2 B O/ J3 u this->reportFinished();
/ k6 W5 {( O& S, N# F return;/ L2 f' }. S# P- r- Z. R: p1 p% ?
}
# q+ M/ D# W! e$ n0 A% x4 ? this->runFunctor();/ o f0 T8 X/ Z1 f7 s
this->reportFinished();
& b- b6 c" ]% T9 i3 U }
1 P; U, A" A# v% l};" I" f0 N' Q8 k2 O, v# t6 W
U/ S1 j. r9 c$ M! f) U
} //namespace QtConcurrent
( x6 n" `9 D7 z1 _/ b, a9 a6 F: W# h, C& d* L7 g
#endif //qdoc5 w5 J& o) ^7 X% h1 w
- e' R$ k1 C" IQT_END_NAMESPACE
9 V+ N% R, C, d, F% G) D" p- f9 HQT_END_HEADER
6 B2 [" N. f# Z
# s' o1 \; C2 Q% ~3 D#endif // QT_NO_CONCURRENT8 A: O6 ?2 i. q) Z% X
0 Q: f5 Y( T0 o' t" p5 Q5 D3 u8 B3 r
#endif2 ?) B4 h) K' `6 H6 t) b
a( S6 `! q, [( T- I& D
|
|