|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- }6 g5 E, I3 Q/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter', @% [9 \ u% P+ W5 s% T, I
# j; |2 o0 x! [: k
这个头文件内容如下:
- z; T$ @5 s6 f! J. l#ifndef QTCONCURRENT_RUNBASE_H6 J @, x$ J7 L' u% v$ y3 y6 M! h
#define QTCONCURRENT_RUNBASE_H
0 a0 s3 X# `3 e6 e/ v% e7 N9 Z ~4 H* C/ n; l! k
#include <QtCore/qglobal.h>4 Z1 p- {- C/ K% K ]$ D- V% ^
; R' Z, X, g7 S0 J# L- n& ?6 P#ifndef QT_NO_CONCURRENT
$ Z! | `- v, n# q
1 d' X ^. G6 \. _* }8 Y8 }, [#include <QtCore/qfuture.h>+ l/ N _- _0 D: u+ L
#include <QtCore/qrunnable.h>
3 N4 I c0 j1 v' Z1 ~" S0 z# {#include <QtCore/qthreadpool.h>
/ A9 q; w' P" g$ O; |2 f
5 ~ z- U# n. tQT_BEGIN_HEADER
# A9 c+ x' I3 UQT_BEGIN_NAMESPACE
: y+ W$ n( i: y. J2 ~7 P9 @+ p7 W5 f
QT_MODULE(Core)
9 Y* u7 D' V- l& t; `
& H( I; \ {" k6 }6 P#ifndef qdoc {2 J E- S0 f1 ~; y8 E6 h/ I6 D
: f( A& R0 h( n. a. }2 S# B
namespace QtConcurrent {- A5 |6 J# ]9 {: i; `1 W
" I8 t/ |! m: W+ q2 k+ {/ |
template <typename T>
; z1 }& \5 ^# S$ }. ?. m: j% y* `struct SelectSpecialization" X9 e1 S/ Q @/ r
{
' X& Y8 L- k$ s- X! R% z/ ] template <class Normal, class Void>: a ~( ?' S( O9 `
struct Type { typedef Normal type; }; v; |% s3 j! } U0 v
};
L, U, q7 u3 o3 \+ e: Z$ r$ {
" A1 R3 e% B( O' c: {! Htemplate <>
' |6 N# T2 T! X$ istruct SelectSpecialization<void>
; j$ i4 g9 X7 G{. T( ~5 f! [. b# K2 X
template <class Normal, class Void> I7 `5 [0 ]( M* y4 O3 g! `
struct Type { typedef Void type; };
0 z9 i2 ^% ~: o};& p3 t3 U) i6 |% Y. |. W6 u) A7 L
b% o# W: `$ g1 P* d2 v
template <typename T>
- c+ k1 f0 f9 @4 i- X) f5 O, wclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable6 H C% h2 m# \
{
2 J4 {) h4 p, x# w! v: t' w- s! Hpublic:3 n6 ~" t7 \7 Y
QFuture<T> start()% a5 l* a \5 i& i7 m
{9 F, q; l. \. l9 K. s. E
this->setRunnable(this);; N# ~! S' `, |" K
this->reportStarted();& R2 [+ i9 g% l v. i
QFuture<T> future = this->future();, H6 T: O T9 s) [* i: j
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);. B1 G P: i/ I* w b3 b" n
return future;
7 c3 k y# G' k: s }/ P* P O$ M0 \( q6 M7 B* f( q
. y* l6 h0 m5 f void run() {}: k3 a% ~6 I9 [( p) p( T3 c0 ]2 o
virtual void runFunctor() = 0;
0 Y# ?4 B1 T, K. t4 F( F};
- A* }% `+ n# F: I, C; A. d1 L8 s* t2 P. U4 {' W
template <typename T>
$ R; ?% j/ N+ w; |# _( }) Q* Yclass RunFunctionTask : public RunFunctionTaskBase<T>+ T: g! M8 H$ M- f6 {0 Q
{
4 S' l- F: q& y2 [public:
" ~1 ]0 x& ?( D# O/ T4 V! y void run()
7 f) q6 k6 ~% }' y! Z {1 h% g* y) p% X/ n
if (this->isCanceled()) {' Q, @% T$ Q" W4 V) I2 _
this->reportFinished();# _4 x9 c/ Z! Z) i& ~8 q
return;+ m8 o8 {6 T: \5 L* F
}
. u# {; d! o! z* k this->runFunctor();$ _ T: T3 v) I1 U* N! \' `
this->reportResult(result);9 s' E( j! R% M% _+ r0 g
this->reportFinished();
( r8 ^/ X# C: }( c8 a% V( p( {5 L( M: S }
# i+ a% n5 c _+ H; n R: O T result;6 t1 i. d! ~- f) ~
};# y2 y1 d( [. [, b; g; B
1 P) ^! R& Z# K+ d2 b
template <>
: d2 i9 m5 o" r4 Nclass RunFunctionTask<void> : public RunFunctionTaskBase<void>5 V6 {9 A3 G+ P
{: J" P8 V1 A. d& r7 l; G4 g1 a8 \
public:, |5 L$ a; C/ R* f$ m+ x. ]
void run()- B( F4 k7 v! p* _+ u. D
{
7 V8 M5 i& U- O$ [3 [" @ if (this->isCanceled()) {
, I# u0 u! @' x* O3 F9 P3 _' y this->reportFinished();
/ g3 x/ r8 F: J& X+ I g return;4 d3 n1 W) x( Z# D1 C, J# K7 m
}# r4 z3 K( L4 i5 q; G+ z7 i
this->runFunctor();3 p( @2 J/ x* i7 e8 { A2 `- b
this->reportFinished();
% B& e: D3 o* v. h }
0 Z, O* N8 @& w};
5 B3 G# j4 [4 O1 D8 x7 [
9 D% x0 d" Z- }* k3 I# u8 I} //namespace QtConcurrent
8 V/ T' i2 p' Q
5 ^, A9 c' \, z) u! ^#endif //qdoc+ |4 p$ S7 t' P4 \6 h
5 V8 a, [9 H/ E
QT_END_NAMESPACE( B8 I" ?# J. k. z
QT_END_HEADER. l( d. H' m& ^
( ]2 A! D5 G$ X9 S! f/ R8 q) m' x#endif // QT_NO_CONCURRENT
, ^ e+ x/ D* W4 Q& L5 k' R4 q$ s6 S
#endif- k( z9 U% S& t2 X/ R' r
: p0 j8 y% f" r
|
|