|
我对syslink进行交叉编译到arm,但是出现如下错误:
0 L8 E( d3 W9 b/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
: Q/ K2 P- J6 _/ t0 O' I# M- g& j$ Q+ v Z
这个头文件内容如下:
3 T) y0 p- J+ p#ifndef QTCONCURRENT_RUNBASE_H: |4 }3 J/ v: u' y2 c) N U
#define QTCONCURRENT_RUNBASE_H
7 t; d0 J+ m% ]8 @' m. p' {' L# Z- G
#include <QtCore/qglobal.h>, ~' O' I9 J% c9 e& C
b- P7 l( X3 z
#ifndef QT_NO_CONCURRENT
! M8 }* V4 m1 z2 d4 V; h0 h: M+ `+ J$ C. u
#include <QtCore/qfuture.h>; z- {) ]8 H( q( e0 B- {
#include <QtCore/qrunnable.h>; p1 e6 E- F4 b: d; |! w
#include <QtCore/qthreadpool.h># V% p2 U# h- p3 ^8 q$ V
( o0 {, Y! p7 m+ P0 f
QT_BEGIN_HEADER3 Z1 D( Z7 v6 o' ?, g" p
QT_BEGIN_NAMESPACE
! n/ ~# u2 }) j4 P* E" Y8 U: X! K2 _ a; M
QT_MODULE(Core)4 Z$ {/ u2 @+ g% H
+ c! [3 X& e7 X9 @: d#ifndef qdoc
2 v4 c, I9 Y+ m* i1 _) [7 p( J, P/ i1 ^& G p7 ?/ I
namespace QtConcurrent {1 S' |9 z H* a1 K+ I5 v
# U) I/ V6 K( x O/ P
template <typename T>
8 g" X+ A( V! Z1 k" Astruct SelectSpecialization
/ G2 H0 ~3 J& u. N. c7 H& D{
) t$ d: P R* m; V$ Y template <class Normal, class Void>
/ u2 Q7 s% X" o6 e- r struct Type { typedef Normal type; };. U4 R) y# ?" c7 t! u0 Z
};& ?- g6 k2 f$ q3 d3 X# E
2 f$ p0 `2 u- g ?% {template <>! t) o) h1 O0 b) D% V# `# u
struct SelectSpecialization<void>1 L. o) u! W, ?$ x( V
{
4 V" f. w5 L- S$ y template <class Normal, class Void>1 c1 P# m ?4 H* y7 n
struct Type { typedef Void type; };
9 R1 | \& j; D( D};, z" a; V, t+ Z0 g- a, u# z
, ?6 j+ ~3 K& O# {1 W: G
template <typename T>
- E! I$ k- r; I" M$ ?4 Q' c8 \! `class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
^" b: N8 X+ N{0 H9 _5 I. R& b5 o* H4 g
public:3 ?) Y" \$ z" l% ~$ K5 G
QFuture<T> start()3 ]% g, R7 {5 s9 u3 P! ?7 e7 O
{$ f5 p+ [0 d9 r
this->setRunnable(this);+ ^3 z% s- }3 U( ?* k
this->reportStarted();
' e2 m7 ]- x5 T. Y8 C3 k) k3 Y QFuture<T> future = this->future();( J# H2 g# ]5 C: m& p% ~( k4 ]* K
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
* r2 L) i9 c. E, L1 j return future;
6 u A$ d; I7 e Z9 ^- g( A- a }
/ R; G* b' e7 ~4 w6 g& Q3 w3 X) z$ v! @* P
void run() {}* N- v. a5 c% t8 i) m' f/ v; r
virtual void runFunctor() = 0;4 p% C$ m. N0 q/ B5 `( D6 w
};$ H; i; a, i3 u& s5 X
( F* R Y, k+ x& r; S4 _- i6 x" [template <typename T>4 P9 D% T. N0 y3 z: r
class RunFunctionTask : public RunFunctionTaskBase<T>7 i" f( U3 z8 h0 T5 Q/ E: ^; X
{
7 d1 ?! C# D' ypublic:+ I5 N J+ i& m7 L0 n& ^- G8 ~
void run()* I/ Q F$ ~$ ?% B
{/ W2 g9 z7 k- l7 l* d
if (this->isCanceled()) {
! `6 D' P8 s' A this->reportFinished();
& j1 g$ | A c/ n6 l; o: R return;
9 m( K% X/ U* z% Q8 B5 |+ |7 P }
4 s0 v; U0 I* {5 F this->runFunctor();! R3 U: P) T" }8 Q
this->reportResult(result);+ \, x9 N/ A! F: Y& ?6 h- v
this->reportFinished();
, Z1 b3 h! c! O) u- w. n# H1 T3 x }
2 Y. }6 b' I+ o( i' N, Z' V6 ` T result;
. s. D0 v) x& e! ^+ S};0 t8 k0 L) W7 n0 R9 @0 _
6 |5 w% u% n* T8 e
template <>* ^/ f' W) f9 H
class RunFunctionTask<void> : public RunFunctionTaskBase<void>9 q( k& Z) x$ `0 \9 B5 _
{
) n# S6 y* s) G* _& l7 [public:
2 ]' F0 `2 E& w* k void run()! g2 e4 C4 V3 f: A v1 f* u
{
/ G1 ?5 x0 n; K9 |7 A2 m$ O9 | if (this->isCanceled()) {
. Q$ ?; d) `9 o. G& |% V this->reportFinished();
. b3 W" A: h$ l) c: C return;
2 Z' Q( A- G* g9 ~' m }
0 T3 X) n8 T5 ?: ~9 @) T" _% d ` this->runFunctor();
" ~. @) J+ W6 B i8 V this->reportFinished();
$ i2 q C% I# v$ v& q }
$ b- U; X$ K& U9 S" f0 q};
9 W) n O% _6 W$ r5 y( g
7 \6 q* t* w- \: ^} //namespace QtConcurrent8 \1 ~+ W( l% \- n2 {3 S
8 s9 q8 ]% ?4 d; v+ `
#endif //qdoc6 f! A0 L {6 ^9 f- _, L8 K* {
3 A7 H: J7 t/ f! H
QT_END_NAMESPACE+ `3 \* P/ k) S" A" v
QT_END_HEADER
' x: _1 _% v1 A
1 b/ s( u- M* I' y#endif // QT_NO_CONCURRENT% v% j2 p- n( m6 _ Q2 R
7 N) k. A& L1 v t! H; y
#endif
- q$ u9 M- E5 Y' X! q
6 V1 \) G. t" K- @$ Y& z |
|