|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
. H/ i' I2 C$ s. u9 X/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 ?( N0 J8 ~5 ?+ l8 d
. G, I% D2 d$ n这个头文件内容如下:
# e+ e. F/ R( n7 A8 D#ifndef QTCONCURRENT_RUNBASE_H
3 v* D7 U4 L; s& |; r) N' s6 X) q C#define QTCONCURRENT_RUNBASE_H
$ d- o. W4 ]5 J |' e( ~3 L2 W, H: Q
& D# \& c- p) b9 x0 o, ]" u#include <QtCore/qglobal.h>
6 w3 z5 x# o9 r2 D4 ]6 L
. n$ {5 Z" J$ Q* M, y0 }#ifndef QT_NO_CONCURRENT
5 `2 V; G+ e: i% J- F& S6 E2 w/ J& Q. c3 v! b1 r
#include <QtCore/qfuture.h>
. Y' }1 V& s0 ^#include <QtCore/qrunnable.h>
' L& ]" x$ i( B0 X* F/ n#include <QtCore/qthreadpool.h>6 @, I$ F% a3 o' m- z* h
' O' z! ?8 S1 ?- t5 `
QT_BEGIN_HEADER7 N1 K2 W5 u; R0 O: L* s/ F# }
QT_BEGIN_NAMESPACE
) d2 P) ^; n _$ E- b' X+ x# ]( T% S7 J
QT_MODULE(Core)0 J5 {% W; N! H+ k) Y) {
/ o% e) }# C' K- ~! W+ H* g9 B#ifndef qdoc( p# C" r* u7 E% H) x* x! R9 z3 M6 n0 @
# C8 z. O; l8 H8 _8 r5 dnamespace QtConcurrent {
' C5 Q; V# ^$ y& _* v5 P q$ ~& Z7 }/ m7 P& y. G0 L
template <typename T>
+ M3 k8 @! f6 J7 s; f& Cstruct SelectSpecialization6 j' O9 p0 N" x- ]7 z
{2 ^* v# F6 D5 |+ B- R+ B1 T
template <class Normal, class Void>
! W ~1 U( P- A struct Type { typedef Normal type; };
w$ I3 H) b3 K% m0 H, e+ L};
( L9 O% p* I3 k& m @
9 u, u, z1 F7 B& g- Z) itemplate <>
- Z7 ]% A. r8 L! pstruct SelectSpecialization<void>
! r& l1 X3 I, l1 m. f* o, \{
) l$ C- P6 y( Q$ k0 T& j template <class Normal, class Void>( u9 Q. P f4 ~6 f
struct Type { typedef Void type; };5 u& A8 m0 d- J) B
};
; x2 ^8 t3 w6 O' L, D7 L; p4 c1 l% f% v9 h6 u0 }
template <typename T>0 B& d7 Z% T* i: L$ I- E3 x- r* n
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable& J7 g( M$ }3 M, t+ ~+ ?! q
{
: a/ b1 i" z; s5 ]; j' Vpublic:
; N1 ?* H9 T* W; W- d QFuture<T> start()3 [, {4 z' v8 D% B$ C8 i
{. \/ F, o+ m. |8 D8 s* ~, v5 ?
this->setRunnable(this);
. D0 U t1 {5 {* ~9 ?" F" v this->reportStarted();
' r: m3 i( p/ k; h$ z5 A2 Z QFuture<T> future = this->future();
( E! h9 A# p9 u" [8 k1 ` QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);; `5 V! ?9 q- K0 E
return future;
+ n6 C% B4 N/ S I' u }! @1 e& n. C5 a y8 S' ^' p+ o
. u) H: I7 u9 s/ @4 A
void run() {}
3 l6 ?/ v2 P% f, d K! m* @ virtual void runFunctor() = 0;3 | z# X0 X9 c7 X9 i- a! o
};
1 Q, P% v- e0 o: N- _/ \
7 o8 S+ |- Q" t! h( Jtemplate <typename T>
, p$ W6 r+ R7 v+ _( E. iclass RunFunctionTask : public RunFunctionTaskBase<T>% R5 m2 |5 [" Z" h! Y0 ?: E
{
. I6 v, C4 Z' V: r$ `+ V0 p/ Qpublic:$ p9 l1 |6 L1 O, z" y3 J g1 b
void run()* ^5 y9 N1 ?# b, _. p1 w/ D' ]. o4 O
{! C3 b" `! Q' ]1 O5 }
if (this->isCanceled()) {
& i1 G$ C2 s) u6 s, A, ^ this->reportFinished();
2 h7 Q6 f( G8 |$ _. x+ X" V return;7 F7 ]# }, @) Y; D$ m& i
}
7 M, D- ^2 O6 N: \$ x- A+ F1 O: _ this->runFunctor();
1 n; [3 \" d( x4 F' b# x: I4 m this->reportResult(result);
1 o% O" e5 k: @9 I( X this->reportFinished();* ~3 \" x: |1 f! q, ?
}
; U* k n7 R. B" v T result;8 n" P3 J% t4 r# Q, C! I
};" c9 }. d4 G ^- Y' c
3 O) `5 N; W% i' O& h
template <>
/ ]5 k+ ]; R+ [6 tclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
2 }3 U: u: ~7 l{1 {8 q+ h4 o6 n/ v' s, G% \
public:5 F! Q2 c6 x' p: Q7 r. p4 i
void run()
7 }1 y1 @! ^ E- V' _) H {# q+ v) u6 M" Q
if (this->isCanceled()) { ]* ]0 v* w: n
this->reportFinished();
' t# F* z+ v1 O return;) S$ s8 G: o1 k
}
) \" Y5 K9 b8 ?( `6 A% C( X! R7 ^ this->runFunctor();3 M6 l$ Y6 y% [% J* |
this->reportFinished();" k: I: f6 f* Y( a6 h& P& {; \
}
1 m x1 ^- K. j( E0 W};
4 b: F' Q0 s5 j G
% u+ j6 R2 N* v( B6 Q" d} //namespace QtConcurrent9 ^- T! x* o D, _: b- C0 @0 y& ]$ n
' m: | Z: \% l/ U% Q+ i#endif //qdoc/ s! i$ c$ V9 J3 F% f
+ B x# K/ k+ [0 S* b. RQT_END_NAMESPACE" M& B) {) Q% L! U L ]- n
QT_END_HEADER
* @8 ~# Z' [) w8 O% `, {
+ a; L7 q8 w( b#endif // QT_NO_CONCURRENT3 J; o. r4 `! F5 n& E. ]
& V& {) d. U1 n; x x8 n* }7 O#endif' R4 z& h, f4 W: Y
5 O9 x, @; N1 L" T# k- Z( c
|
|