|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
& ^* j' h. o' x: a4 k8 i/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
* s+ g4 O* P1 ?, W
: A/ w. {( H6 [! B% m1 g( B这个头文件内容如下:
% H7 y& |4 {* l0 v" F#ifndef QTCONCURRENT_RUNBASE_H
# h* z7 L# H5 _+ \; v#define QTCONCURRENT_RUNBASE_H! m7 Z3 T% g3 |" g4 U2 _" P. {% M
; r1 z" |# i, o5 g
#include <QtCore/qglobal.h>
+ k; {/ ], I9 L* j7 t3 ]! L( m2 s7 z$ ~, m1 F" W. n! N; g9 D
#ifndef QT_NO_CONCURRENT
3 ?/ o! x- ~& \8 i
* B" @( _ [% h- n$ ~. R8 l+ l/ v, \#include <QtCore/qfuture.h>
7 @5 p7 [% T% {6 ^) f' O#include <QtCore/qrunnable.h>
, w5 o+ ?4 e8 ]5 y* j' G#include <QtCore/qthreadpool.h>, N q, s$ j2 q2 N7 R4 e* Z
9 C! R2 d) y, {% pQT_BEGIN_HEADER* G5 f# O" H; \- I
QT_BEGIN_NAMESPACE
( X2 b2 L$ s( q
% ^" A0 |9 x# h/ S, D6 fQT_MODULE(Core)
4 c4 _6 a. u% a/ |9 c v+ |+ N8 V q; G4 S) Y
#ifndef qdoc
0 }' H' E& b) I8 ^7 V j0 G, B" f% t' {3 z# F: H6 ]
namespace QtConcurrent {
! M9 j) `% r9 O5 Y3 K8 _+ T6 ?- m2 w; e( e- s
template <typename T>
$ C+ {+ L9 H3 K( L. f+ c4 c/ Rstruct SelectSpecialization
" c- O4 ~. W1 }8 `* ?! D{
7 S/ W$ Q1 p! M6 t# H' e4 z) X! x4 C template <class Normal, class Void>+ l3 _9 t& Y1 b/ v6 d8 E
struct Type { typedef Normal type; };* @! x# y5 W& Q' W! B! w6 v
};
. l- V, r4 h5 J% @7 M) f
3 [4 i- ?( j, _3 q/ G2 z. Y- r7 w9 Btemplate <>& h9 ~) K7 e$ d# Y
struct SelectSpecialization<void>
9 d; Z9 h9 ]6 X& C2 f+ q0 F$ a{% _- i1 |: C4 e$ P: q0 ^
template <class Normal, class Void>+ o7 z: N: j4 D' r" o& q/ ]
struct Type { typedef Void type; };
0 k# t5 t3 [' L( }};
* E6 H6 {: r$ a- N% ~: ^
# U( m& M+ m+ I7 vtemplate <typename T>; I4 B( w& O l- k
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
( ?& h2 [- ?1 M7 t# j* a{
3 E& P! O$ n6 c' |) w, E/ kpublic:
" q, L# A0 n- }% E QFuture<T> start()
* l, u, Q) w' a6 l- v# D {& d: s: w E* A
this->setRunnable(this);* [1 U# P/ c* E9 w% `/ r! r
this->reportStarted();
& Q6 f5 h* ~# d9 R4 @ QFuture<T> future = this->future();
. i# ]9 U! i$ E- h ` QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);! W9 i+ w$ n$ ] p
return future;
7 l! E# q' ~( ^# P4 \- X }
" w8 ^& e2 Q& s& X# a' ?+ O8 D7 w4 |( O3 i$ [3 [; {
void run() {}3 [6 n: U% Y( v8 ~. i- s1 [
virtual void runFunctor() = 0;. D+ V O+ c1 W# N) p6 p
};
' \/ h0 Z( a4 k3 o; a% i4 O0 f) n4 \
8 H$ x3 V V" _" p+ Itemplate <typename T>
+ a) _/ b `7 Y# ~. Q+ U0 Oclass RunFunctionTask : public RunFunctionTaskBase<T>
4 [+ J2 Q+ \0 A- X) ]+ F{! z! F2 Y+ E7 q* M
public:
/ q. j' M- z j; F% S. @3 p) I7 C void run()
" b: F/ D0 _ v {5 z% J% Z' ^1 V& e& U- x- n
if (this->isCanceled()) {1 M% ~8 O3 Q; ` }
this->reportFinished();( Y6 Z) Q$ F/ F5 G, j, W$ C
return;
# ~% [ ~) { g$ Y* d' l; ^ }; r8 D7 x4 P, r0 Y
this->runFunctor();
1 P) z3 S3 H3 U: N4 `0 O3 ~9 d7 D this->reportResult(result);
e9 R# r3 \8 r D( a3 O$ } N this->reportFinished();
! K5 g8 D( `9 r }9 k# Q" R" h8 D3 v
T result;* u9 x% v' M1 r) c3 B
};
1 G0 J0 H. O( v8 o, A; m0 j/ z* y) v) ^: ]5 B x
template <>
3 r7 M0 h1 b( \' Q" `2 D( ~class RunFunctionTask<void> : public RunFunctionTaskBase<void>
6 J. p- }- J, g; a2 Z{* z: T* h; I+ i( }3 ]* |' | I
public:
1 T& t* @6 c9 `- F- V$ ? void run()3 W* _' @& w1 x) p
{
4 k+ y2 {- O" b1 ^ if (this->isCanceled()) {
+ T& t# Q& v& y' A+ b this->reportFinished();( _# E* g' U$ W# W- U, p/ `! u
return;
( ?, Y5 j) ~6 S( W& x }! t2 E' f9 E0 x. G5 [& _" j1 H
this->runFunctor();" c; ?9 X; J4 q! o7 [/ }
this->reportFinished();
8 A9 B6 M9 L( `" y" Y v }
/ T( V2 t5 ~$ G};) c/ p" _% @9 O# U1 W4 Z
+ ~! C: J9 t" t; n' R' w* c% |
} //namespace QtConcurrent
( l! S* J$ o' v+ _' I% H. ?. _" b7 _. O5 k6 ?9 n
#endif //qdoc
H( x7 K4 W3 f5 D- z
9 ]+ o7 r3 a& `8 b" Y1 R8 uQT_END_NAMESPACE
" x r. y" k, K0 d( {1 ?/ PQT_END_HEADER# ]+ R# N1 Z4 J4 T4 p x, J7 E
# m3 R6 a: @8 }/ @5 u: X7 O2 b
#endif // QT_NO_CONCURRENT
1 G3 O4 A6 K$ ^8 @3 s5 P5 k
8 e2 k' \; H8 v( T2 J( z+ `#endif4 E8 T4 R- s0 V3 m
( C T k7 N* _ g: p# a, y
|
|