|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* {( t5 G% ~6 l! z/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'# c# z J% O3 I0 P* X0 W' e
$ h2 z8 s3 ]. F( N3 b$ W
这个头文件内容如下:' O1 t& T( X7 t
#ifndef QTCONCURRENT_RUNBASE_H* ?0 p( F$ u% @
#define QTCONCURRENT_RUNBASE_H
/ X2 Y4 ?8 i x, U* Q, x1 P- f! [2 a# a+ ~2 |* M( A, V5 D. S
#include <QtCore/qglobal.h>
7 t4 _2 X, @8 ~% Z. P; |( U- ~4 F) e I/ }4 K5 w) |
#ifndef QT_NO_CONCURRENT" C5 A0 U g+ M. O" m( l! j
3 J1 t) m+ Q2 P* R) Y
#include <QtCore/qfuture.h>
7 s; b- a5 H" g1 O0 p' ~: K#include <QtCore/qrunnable.h>9 b( S$ b8 |/ \0 A V* u! O( U
#include <QtCore/qthreadpool.h>7 P) L: z1 e* k0 Z; i% ^! G
, p% r6 |! P# v4 Q {( h$ h. LQT_BEGIN_HEADER
2 { [4 P$ `+ D8 i( Z) fQT_BEGIN_NAMESPACE# i0 d: G: }, w1 y
- ^/ s9 t# N% |$ I. E+ FQT_MODULE(Core)
2 W5 ^0 N! Q. o' _( D; M$ s5 d7 h; y
, b3 `: o# r) n2 W#ifndef qdoc
( l: [# n9 J6 i/ }3 I; Y
' X1 \. d' ?) {+ o" anamespace QtConcurrent {
' t7 f& i7 z$ D# x% x/ h* N- b' W6 U$ U3 L. c; e* b; `" G: g
template <typename T>
, w" t7 N( S% n' Z- A$ m0 cstruct SelectSpecialization
4 N* i Z) {' C. p{# \! Z/ ?. L% ~- [- s& h3 n
template <class Normal, class Void>
/ u0 r6 F0 [* H. U- K7 B2 v struct Type { typedef Normal type; };
' N' @6 T/ u$ ?4 z};
: V! d+ i) L( H0 U" J' z' f
4 g) w- n& v% [1 q/ r) k+ dtemplate <>; }2 Y: L4 R% F: g
struct SelectSpecialization<void>
; y$ j6 N: B# E* ^& X{
4 h; B: ^0 Y4 Y# e template <class Normal, class Void>
& Q1 }" x) s. ^( S$ Y struct Type { typedef Void type; }; M% ^/ ~) K4 p2 N ]6 g
};
) K% V$ P( Z, Z6 S1 [% a% Z/ J) e* c* v! V: B
template <typename T>
* T9 o* B K) M# v: I) I5 \% tclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable6 @2 q& u: U1 B1 e
{
; M$ C. p6 F- Q) `9 v: u3 E( k: rpublic:4 t5 k/ L5 q$ j; {8 r' E$ U
QFuture<T> start()2 [1 m! P5 \7 ~1 q% e8 W8 R( c) g
{' w+ {* t# e8 P% N: \6 F
this->setRunnable(this);
0 y: h* r1 f9 f this->reportStarted();; Q- O$ @$ \2 g- U2 o- C
QFuture<T> future = this->future();$ F" M! ^0 g6 Q& q; m6 ^! c/ n
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);4 p6 v9 N: X I$ |4 k
return future;
6 B# y8 I9 B9 v }$ e! G8 J j- G* b
* @6 J5 Q, L. c7 |8 }; y0 a4 Z
void run() {}
* k+ o; K7 `) X! m2 J, D4 V virtual void runFunctor() = 0;
: Y, r z; Y: B d; h};
2 L9 I( X5 Q" _$ {' @
3 k7 `( x: f2 B5 R8 ztemplate <typename T>! v: \/ R Y3 I7 Y3 a2 W
class RunFunctionTask : public RunFunctionTaskBase<T>$ S# f1 P: R8 D
{: R/ C) H4 N: P
public:& k$ j% I* @# B: x" T
void run()
4 `! m6 }4 I8 V2 r2 b {
2 z# c! Q3 Z( G- i! u if (this->isCanceled()) {
6 r F7 {- c3 d/ H# w+ j' D this->reportFinished();, I8 ^" ^& \% e, E+ d5 F6 C
return;1 L' Q$ m+ T" d0 ]( C% S
}
* U( \4 _0 o' g$ Z- x$ I8 W: I this->runFunctor();/ T% z( ^0 Y4 W
this->reportResult(result);4 H! Z7 q- z+ ]0 g2 ]$ c
this->reportFinished();
/ b* H* K, ~+ s2 v7 ^; n& f }6 C D* F" I( Q8 q k V
T result; D9 H" F3 c7 A7 J$ j' E0 a
};4 E7 p; Q! g. c
2 @ ]* a$ g9 P, Atemplate <># Z6 E- W9 Q, e6 w% v6 g- D" |2 N
class RunFunctionTask<void> : public RunFunctionTaskBase<void>& m+ [- ?7 L* K i" }9 m" B5 ?+ i0 Q- j
{1 J( m8 o8 N+ X* G4 D
public:
/ N: P$ v. s' i8 \) ^8 C9 G& p void run()( C; d4 o0 G- O# B, W. U- h+ e
{
! D: [' T1 N" h' l6 T& s I if (this->isCanceled()) {
% E5 q. ?, ?2 \. N6 h7 D; i8 e k3 d this->reportFinished();$ N7 s2 @6 }) v) m* P
return;
! o- w6 V9 S3 p+ r3 P: M }
+ x3 t! W! }( ]! O' \ this->runFunctor();" H' D2 E1 m/ w9 K8 B
this->reportFinished();
8 C/ ], S6 h6 n" f }: b9 [( d$ b; a. `" X0 \' p% L
};
0 {* q4 N& R8 }$ O# ]" k) Y
- l' w" f Z6 l+ R: F# C0 v} //namespace QtConcurrent
1 A- k6 Q% g4 l- f$ u5 _6 L) C, Y8 c2 O& {9 D6 o
#endif //qdoc& I6 u; |8 F' i, j& L0 ~
. A9 e5 N! {- I, g/ F+ S, {
QT_END_NAMESPACE* Z" i5 {2 i# e$ C: L
QT_END_HEADER
( b ?8 }5 M4 N3 P7 M o
) M/ I1 U/ u. d) \( m5 X#endif // QT_NO_CONCURRENT
6 z/ M: B; E$ k6 w: y7 l7 O/ h9 m1 |9 _: L2 m {
#endif
" j' L& o9 }0 p5 e" J/ }0 w7 l2 w9 ^: q; n7 k
|
|