|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
1 A" z: Z& B" u/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
J. B5 q* d* R) {& q; Q+ k) y6 x }
这个头文件内容如下:: z# ~8 p. P7 P7 q* \
#ifndef QTCONCURRENT_RUNBASE_H
5 e+ w6 F+ t6 G8 t7 Z7 J7 N#define QTCONCURRENT_RUNBASE_H
0 Y" B) ` g4 R9 I( J% c' L0 V$ @
#include <QtCore/qglobal.h>
% G$ V6 W! \0 B I; _2 ?, i
- _( X: _$ Q" u+ A$ ^#ifndef QT_NO_CONCURRENT
D; U, ~) E J) R5 P) F
+ `: A0 [% O3 ^5 R#include <QtCore/qfuture.h>' h3 @5 _- @1 K
#include <QtCore/qrunnable.h>) B5 N# Q3 P8 S W5 D- v
#include <QtCore/qthreadpool.h>. i! b8 F( b7 c( o3 G `& n- `$ ]* F; X
0 y {! X, p5 c$ P& j( ZQT_BEGIN_HEADER
+ P& J1 I- x4 d+ ~0 y8 a3 L# `QT_BEGIN_NAMESPACE
; n; a$ Y, S4 G: ]8 |- Z9 M8 c6 T# b7 w: z9 }
QT_MODULE(Core)
0 u, V) ^+ Q% b$ L' y4 d# |* p$ S7 f5 m2 R8 T6 E3 \( N& {
#ifndef qdoc, _ N3 ?8 K* f
v, J% G3 N8 N; ^ p7 x
namespace QtConcurrent {1 @$ y- @( u% c% P4 m) \: \
6 N$ W: E! C0 t1 utemplate <typename T>
9 d( m2 g" c) y( b6 Bstruct SelectSpecialization1 J9 ^- w, v S. o
{( l0 u6 W8 ~2 Y0 h k
template <class Normal, class Void>) L# S( t5 O+ \/ ^$ k% r
struct Type { typedef Normal type; };
1 m# X7 ^, F- x& } P& I5 n9 t};" O' i3 ^7 F& {- F; t
* O0 l/ ^. w/ ]3 V
template <>* D. Z$ V, S6 B( r1 l# y
struct SelectSpecialization<void>- C2 A0 \- q/ f& K. D+ |- A. n
{% I- }2 C5 A# R5 S
template <class Normal, class Void>3 o0 g0 l, E5 T( _) a
struct Type { typedef Void type; };
( o' a4 G! F$ n* d5 v* Q2 y};
/ c- Z2 h+ L7 z+ _% O9 H9 G! N9 U- j9 W7 O% B
template <typename T>6 n9 j/ D2 k5 J5 t% N8 H# Q c- W) i
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
; R5 z; g* b' d1 U1 S{
; R+ C/ @" w, G& ~! H4 tpublic:) B0 ]5 Z# E- a" h9 e
QFuture<T> start()
8 s2 {, u7 |1 S+ z6 T6 C0 N {/ Y5 H) j) O9 e2 ~" ?5 B7 ]4 U
this->setRunnable(this);
$ ?5 g F1 ~- f this->reportStarted();
: l$ U# x5 r2 j Q# X K QFuture<T> future = this->future();
$ ]/ s; T' _5 D, \' }- ~) H QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);/ U$ z3 |) i( {# N4 D' y
return future;$ Y/ Q. t3 A& V$ E F
}! n2 Y `& r5 d" H- x: `5 L
; T$ v/ h" l- p( Y8 `5 h2 H3 v
void run() {}9 l0 }* z' v; |
virtual void runFunctor() = 0;1 L/ {; d( G* K3 d
};+ r% V) b7 a' G- L$ D/ b* a
5 W, l5 Q$ q$ _ `# O" ]template <typename T>
8 D: l p' o, K Hclass RunFunctionTask : public RunFunctionTaskBase<T>
, k: D6 T0 `& c0 j/ s+ J' }( L{
# ]+ A0 @' b# Z( P9 Qpublic:
' m/ ]# e" ?; n" `/ q6 e+ P void run()
" q/ n" C: d+ \; f. M. H! H- j {
) c( W5 I5 A9 i. L2 r! `5 w' Y if (this->isCanceled()) {
7 B D9 |" y3 B9 P this->reportFinished();
5 y1 h2 ^; x* `( x0 W4 L: ~% E return;4 _6 M) u( v/ S2 E/ ~7 K
}
/ Z& S& q2 W0 b5 U9 D) F Y this->runFunctor();* }6 {1 Q1 F) y0 @
this->reportResult(result);2 ?0 G8 N1 o% }6 J/ {# ^8 B
this->reportFinished();! ?& C7 h3 `/ T4 V
}, T, J/ v) R8 k$ r U$ O
T result;
! e$ e* u' I4 V" z1 V};$ o( A& Q+ h! } p
3 _8 a- x7 u9 \' U, M
template <>
/ g4 C" z& o1 j4 w" `class RunFunctionTask<void> : public RunFunctionTaskBase<void>
' j' E+ ` I) P+ _{
) u5 o3 D: n" T b- T' Spublic:8 `1 ?9 ?# _1 s1 k% |' ^, ~
void run()8 B- e2 A0 N0 [! y9 i
{& \4 n1 q4 n; k6 z5 I
if (this->isCanceled()) {
, v, Z7 S& L- f+ J4 r# N. s this->reportFinished();
7 S e' z7 ?# y1 [ return;+ ^2 C5 X5 f+ ]6 h% t( a
}
4 F' W6 S% Y' X' F this->runFunctor();
; M0 B+ e% l0 q5 `0 v9 E0 w this->reportFinished();
( F) `% N m2 a; ^3 C J# w6 t/ ^ }0 n; p7 z3 N; F% g1 W4 s/ U
};
, @2 ]6 O) u" s! @
3 {5 ]4 B& ~( X1 Y} //namespace QtConcurrent. K5 w# k ~: I" s3 \' f
# w0 e9 T: m! Z c' Q& ~
#endif //qdoc+ B0 u1 r7 [2 \6 E- g
2 [* ?" X; F( j- tQT_END_NAMESPACE
2 f' M# @2 L6 ^5 U& E! ZQT_END_HEADER
( i& V: P% l7 M2 i8 n8 F: V) \2 b% a" b0 H- O- ^$ }* E
#endif // QT_NO_CONCURRENT( k ?2 o% m8 {; o. S9 b d( c
8 D2 E' ?, E8 v0 i
#endif6 n W0 z2 w7 c
) A: _0 j! m- e4 ^6 p) n |
|