|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
, E4 r2 B- [9 L; k* J# 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'
0 Q( C" U3 S9 J7 c ]3 {/ X2 W7 ?6 G+ K$ Z
这个头文件内容如下:; M8 @" i" ^- @. L
#ifndef QTCONCURRENT_RUNBASE_H
P7 |6 Z. G/ P" t#define QTCONCURRENT_RUNBASE_H7 M+ A: [2 ?4 l8 Z+ ]$ N
) ?2 Q& @: M/ j. s/ N/ i#include <QtCore/qglobal.h>2 @8 ]9 M) M6 {0 F" L7 Z
) W" c( R X3 G' d& \
#ifndef QT_NO_CONCURRENT
0 k4 c! T+ I3 t) X+ s3 g5 ]5 q% @% M3 c2 M; f
#include <QtCore/qfuture.h>
5 t* K' x! ], B; Z4 w2 m#include <QtCore/qrunnable.h>! I7 E6 l8 O) v! j
#include <QtCore/qthreadpool.h>2 Y2 p* Z S; F: V1 ~+ {+ d
- x, @4 B$ _8 _ s. y! |
QT_BEGIN_HEADER
! a& N* l( I `* Z+ [) JQT_BEGIN_NAMESPACE
7 C4 e! i( c, F: D. v9 o) p4 u5 D9 b4 `, c0 v6 ~4 r% v0 J4 Y* k, ^
QT_MODULE(Core)$ Z& e M$ f1 t! t3 j4 M0 N
4 @8 ^5 t+ C; ?5 W; `#ifndef qdoc
; C4 D# O. v) S3 Y, p/ g/ `
q$ g: Z/ I- T% d3 S) Gnamespace QtConcurrent {
* E% p* s' q5 E/ d3 N, {$ Z6 M- D
template <typename T>
9 f1 B$ Y' [7 J& Y1 Ustruct SelectSpecialization1 Z8 j+ L* X2 l! B: M- Y$ i! n
{' T! s1 c5 c* R4 U* D( Y
template <class Normal, class Void>
- T, W6 U; @5 W4 E6 T' | struct Type { typedef Normal type; };
& j7 ]( m. g5 [$ g" j6 p6 c% X};3 r/ R& x+ T: t/ d1 N2 F% f
0 C, ?8 g- Q/ s2 ytemplate <>
9 l% D4 J5 u" g/ u4 B$ I1 Hstruct SelectSpecialization<void>
) |$ f* T- {: h! T{2 [$ L3 [9 k+ d% N) {9 J& _: ^8 M
template <class Normal, class Void>
% f0 n, g: J, t5 l; X6 K1 ~ struct Type { typedef Void type; };
( V" g6 `# ]) S! X/ y: r};& q) T' S* }" @
h: _9 \) _8 t( q" ytemplate <typename T>. T! P [# u" N% `+ ^; y
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
6 S3 K$ o9 O f" C{1 q1 m% |: Z0 v
public:9 M4 {2 F/ `7 ?" D9 n4 l
QFuture<T> start()# M( I' E2 g' w7 ` |
{
2 M9 d3 K2 k, h, K6 k& s; w! T this->setRunnable(this);8 f; \9 b7 g* {4 J
this->reportStarted();. G' ~- m) ^$ U1 i
QFuture<T> future = this->future();
5 P" R+ {! O$ c QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
' l/ a% h, G5 r4 o& L" D return future;
* {2 n+ e9 z6 k6 P' w }5 f7 p/ D" `" b, G* y, {
8 b) b* H/ W5 y
void run() {} A3 u; @ M( j% y
virtual void runFunctor() = 0;4 ~7 x8 o! C$ z
};6 x: M, z2 L, K9 D# F
; q1 I$ B. i9 r. Y* vtemplate <typename T># ~5 A/ b% [6 a0 a8 F
class RunFunctionTask : public RunFunctionTaskBase<T>; X* _+ m' F* J
{
4 S6 ?+ t% ]& w1 _# o( ~; B {public:
7 X% }5 o) H9 n0 X void run()3 p3 m: ~) m) J( D7 @0 N7 w
{
8 d1 t1 q% c: G* f0 I- {- H if (this->isCanceled()) {
5 x; j% `! b' c b! @ this->reportFinished();
8 X' Y' D0 G- | return;6 z# F+ h; m) b4 g" J! U5 T1 m) `" e
}
& K' q1 V. r7 X3 ?6 J# `/ u# n this->runFunctor();
- @* K& r8 v' Z+ b" i this->reportResult(result);
5 d7 h$ f, u3 f$ K this->reportFinished();) _& R# u; [3 ]* {
}
6 i& q2 `' ?5 I: u$ D' v T result;8 O; X- m `5 L# K
};
$ n* _" [- o: h5 p! @( E: n; {* M/ Y. R
R8 s. ?# \# Etemplate <>
8 u) Z. w' P4 r8 c$ e. Gclass RunFunctionTask<void> : public RunFunctionTaskBase<void>& w0 {5 J/ H' |. |7 O' t
{ _4 H+ f, w( i( G( b" n
public:
- N }. b) \4 @* v% D: V O void run()0 O/ ~/ f; A V
{
: R6 n* s9 f) X+ y& K( w if (this->isCanceled()) {! b, f" R) m% x% J! J7 p$ E7 f
this->reportFinished();
& U8 }+ j3 Z0 Y6 g e return;
; Z" m$ ]9 P. J3 \- r( V; G }' y: {' A7 ?+ `$ Z+ V _7 F
this->runFunctor();* _& R3 E3 c$ ]
this->reportFinished();$ H+ [: E9 ]2 V; V
}" \" |, b+ K: t
};/ D$ o# f9 E3 S5 y. G$ T3 A
# P. S4 n0 g$ H7 x. Z% j5 J4 m
} //namespace QtConcurrent
, E5 `4 v& Y: {5 P3 n( i4 s
& f7 y2 h2 [* d, ^( C' O#endif //qdoc
$ H1 n4 L0 `6 t' I% Z- k
3 n q# L6 _8 O& }2 p# g; GQT_END_NAMESPACE( n# o# f1 v' R! ^9 n
QT_END_HEADER
. l1 W& G P( F- o0 ]* e& Q& R& W% G6 Z. K/ @9 e
#endif // QT_NO_CONCURRENT4 o- C# k' E' w* c4 Y1 l+ w3 o
# x, G# }4 G4 q9 Y4 o6 p+ ^
#endif s9 b2 n5 |+ _) O* M9 c
; K0 o+ @# i7 ^ Q
|
|