|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
2 O% l$ Y: H5 S" K& c0 D/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'3 j' |1 q: n7 T6 n6 X
% ?4 o7 k+ ?6 m+ Q! v这个头文件内容如下:3 E) t, _6 u3 h
#ifndef QTCONCURRENT_RUNBASE_H
8 P4 T" K' P$ e2 S) q/ Y U#define QTCONCURRENT_RUNBASE_H& s9 Y% y9 V+ t. k; y7 [
. U1 T: m2 M$ d; G#include <QtCore/qglobal.h>
, U. }# |+ T1 ~# w! i/ i1 |+ T" q( c( f$ |. q4 ?
#ifndef QT_NO_CONCURRENT
$ o: g+ x4 }+ V _3 c9 ]. E; c4 X4 O% `
#include <QtCore/qfuture.h>
* Z( N# k g8 R#include <QtCore/qrunnable.h>2 w+ v" _+ A/ j6 [5 c2 u$ `
#include <QtCore/qthreadpool.h>( a1 t. L. a; m% U' c/ R
/ S8 h$ s4 ^ F z2 wQT_BEGIN_HEADER
U7 q4 T1 _/ b7 }: YQT_BEGIN_NAMESPACE8 M8 S9 M$ ]( y/ A5 `
. R6 g+ p* P' t8 f) d
QT_MODULE(Core)
/ n' F! s; L: A& u# z0 N) q0 c9 ~: n3 n T& p% c# I. I& a
#ifndef qdoc
# \) i) K5 [6 c" z
3 ]5 `, f G4 p( B7 |* D% m) L5 bnamespace QtConcurrent {
6 v, _. B6 E2 K, L, N
# R. |5 {1 P0 t( y5 Xtemplate <typename T>* T2 q9 `& g' _* d0 @" J3 |4 s* }
struct SelectSpecialization
^& \* r( V) o2 p: j{
8 E) _5 L. ?( d9 p1 t0 [ X template <class Normal, class Void>* N% a8 D( S4 E
struct Type { typedef Normal type; };
! i. s; ^# {; z. E4 k) ^% q- A};
* z3 _+ d% |3 P" A8 ]7 Y& j6 i7 \1 e3 f% E% z3 Z- }2 `
template <>
& i* H! L/ A% `3 Q* cstruct SelectSpecialization<void>: j; D0 ~* `" o$ G2 k- n# q
{
" c% I; b9 }9 y template <class Normal, class Void>
% v) Z' |: F. g struct Type { typedef Void type; };
$ i* `) y. X8 d6 u3 F. `. ^+ [};
z; l, V! Q! k0 P K9 [, X1 J0 |5 r: x& m0 ~
template <typename T>
1 p. V6 A% C$ d% Eclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
, Y7 e& p8 X9 [4 M, B' \ B{
]2 n4 L0 N e y T/ a3 Rpublic:
. k4 D5 v+ d# `8 Z# n& l. [ QFuture<T> start()
7 O1 y+ O* X7 b {- f; [7 R. P v0 ~# S* ~1 @/ s
this->setRunnable(this);
/ {1 z) w- O9 i" N2 ^3 F; } this->reportStarted();2 k* m9 K; U+ i7 S4 I5 u
QFuture<T> future = this->future();
5 ? y* \3 x) F QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
5 I7 t$ ~" ?2 O/ O return future;% v1 ~+ U0 R2 P* h8 X
}3 Y, w8 K# m* u8 W: s! m: m
6 S3 h# `$ g+ G7 c6 F& Z void run() {}
8 r7 a+ f$ f0 h. Y7 C4 z virtual void runFunctor() = 0;* o k7 B0 q6 A5 ]
};
8 C% [3 l8 c6 f4 |* _4 l
% B" h$ I* X+ ^/ Gtemplate <typename T>
! v; x2 ^- F4 @5 O- z0 oclass RunFunctionTask : public RunFunctionTaskBase<T>4 `# B3 \0 L" a( j
{
$ t+ B! H2 A+ d8 _& {: ~: \public:
) S9 |! A6 H) l) G& k7 k. n void run()1 C3 j2 k8 c. F4 p6 B9 j Y; w& |
{; s7 `# c" F4 K) ]4 z9 _# d, \
if (this->isCanceled()) {. ^! n( v) T. E# D( e( p/ y# B! a: B
this->reportFinished();
" x% ^6 C( D- }/ R( i return;
! ?4 p% E& V8 L }( P% |2 t/ b& a5 g- c
this->runFunctor();7 ~3 l0 \7 {7 @3 {. @
this->reportResult(result);
& ~8 \4 M4 R8 X+ Q5 H this->reportFinished();# ~2 @4 k7 m) j8 Z$ w
}
. m3 q1 ]( G8 f0 e# L T result;8 C# w2 s0 `1 T5 i4 o- T5 D
};
4 m$ h. t$ v3 z" m
% e" O# C) _9 e7 f$ H! dtemplate <>
( ?4 j" M- t5 V. q C8 X0 L; R mclass RunFunctionTask<void> : public RunFunctionTaskBase<void>, ~) V0 D( o. g, b' H
{- ~% e3 E( Y+ v! E
public:
% c' c2 O& n) ~, H9 a0 {1 l { void run()
, {- s+ e/ K5 A% j u; P6 b" v {
9 S1 q0 W% v. l( c9 I1 y3 w if (this->isCanceled()) {
3 Y# y7 W7 x' ^. y$ n8 _9 b this->reportFinished();
8 ^, ]. B3 ?& p return;$ L1 T# n) e/ I: n
}
6 W, n1 U; }5 T$ U' [2 v b this->runFunctor();
R8 Z Z- D, d( w1 _) v# o& I this->reportFinished();
; G s( A3 x* _7 v0 ?9 f5 n' n }/ D6 A( T% P% Z, [
};
. m5 `8 y8 q5 v* V, O; i `' A/ M" c/ g& z
} //namespace QtConcurrent3 k9 V; }7 I8 K
$ S' I0 a2 ^/ o' h/ G- @ s. e
#endif //qdoc8 F& b* m7 L) X( v
) ~+ E9 h! e( ?7 W( R, B
QT_END_NAMESPACE* g9 O) Y. C5 Y+ H
QT_END_HEADER4 A% @0 `- `" t4 Q
2 _) x( _) m" P
#endif // QT_NO_CONCURRENT7 {0 T, i$ f1 U: q$ Q1 |6 U
3 D7 X+ ^2 W4 h) Q- z$ _' g$ r
#endif( U* S y9 D0 J# T# l P; A, q5 x
c% }+ m$ A. X: S7 G5 Z; z
|
|