|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
; ` }0 x! d: _# v. y/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter': A/ x2 j' w; S* V
, B' [- Q. e, T
这个头文件内容如下:
. l$ L2 L% D; h% M! J$ x1 _3 f#ifndef QTCONCURRENT_RUNBASE_H1 t/ i0 p x# |6 \9 @, `# \
#define QTCONCURRENT_RUNBASE_H0 N' t0 J% Z- d) F) v- c, s
F$ ?, X# z9 I( n
#include <QtCore/qglobal.h>+ o, r) W+ @$ f
! d6 M0 s3 Z5 U# o. ]
#ifndef QT_NO_CONCURRENT+ c3 I# r" x$ u5 d# R! [9 |
# k5 N; A, }( n! o& o#include <QtCore/qfuture.h>
* l6 T# r! f+ b5 V1 `#include <QtCore/qrunnable.h>% l' u) G/ O. c+ [
#include <QtCore/qthreadpool.h>% d7 E- S2 b9 E' h
8 o: U$ g; Z# o2 x; `0 Q0 u! `# M; H
QT_BEGIN_HEADER
3 }) h. C) n# R$ B1 w# ~QT_BEGIN_NAMESPACE
- [1 l c9 Q( p" f, [8 g1 W# Q
! Q; J( B2 k4 pQT_MODULE(Core)/ [* y6 [& `; G P
& o( q9 n9 U, Z
#ifndef qdoc8 Q3 P! ^+ M! w; S! B- q, A+ W4 I
5 F, F7 T) }. v% @% i! X Y8 \* ]namespace QtConcurrent {
, u9 I4 X$ r% x' n( P; E/ Q
( I& u* k1 J8 A+ H1 etemplate <typename T>
5 O8 E3 {: ]7 Ustruct SelectSpecialization% d4 j) B' m) G. i' h, c: r
{3 ^( m4 h$ y0 Z) [
template <class Normal, class Void>5 r. A' G2 H, O- M* `" L2 }
struct Type { typedef Normal type; };! D7 K+ c; r2 m
};3 ?4 P; [3 P5 ?0 T+ s
- i3 O4 H$ T2 l" S* _template <>
G1 r' I2 d; ~* [# k2 T( }struct SelectSpecialization<void>
% G! n/ B$ d' B{
/ c. \5 r! Q# a0 U template <class Normal, class Void>6 e' ]1 V# c, o! ]' n: ~ e
struct Type { typedef Void type; };
% g/ _: Q) v* G7 ?( O};
0 V. a5 f. g" a( Q( H+ J8 _! d7 y6 J/ b; |" `0 j0 ^ R7 F( n0 K
template <typename T>
, O/ v/ [! \! p9 U- `class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable' k2 g& z8 M9 ]5 n6 p' |' r
{
. f4 \1 l7 @4 w2 `public:$ X7 e) }0 T% S" I y
QFuture<T> start()' v+ M3 q. f: L* X8 H6 o! m
{
% M/ f6 V2 r0 o; \ this->setRunnable(this);5 W: n) I( Y/ t5 g& c
this->reportStarted();& Z3 y# h3 x) p' O) O
QFuture<T> future = this->future();$ u6 T2 b0 J) W3 w; [- l
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
) Q4 \, G) s, d" J: ~+ M return future;7 @* R7 d0 I; d% D) Y
}* D2 t8 n3 h7 x
+ _1 Z' K. D; G I7 N void run() {}
% U6 M' L" [3 t# L virtual void runFunctor() = 0;( p9 _$ j5 _% A0 f: |5 t
};
3 Z/ ~& \6 r+ d# H7 L9 l: I! D& d* u" m% X4 G/ P' n$ S
template <typename T>/ f" l/ ~9 E A- N0 P
class RunFunctionTask : public RunFunctionTaskBase<T>" G) _7 O( p) V0 A
{" r2 ~9 i* r: o* {* Y( e
public:7 |" l0 }5 Z; N/ ?, [8 |
void run()
1 W2 K* M2 ]( L {1 m; s1 B% W- r& K3 S ?
if (this->isCanceled()) {: E2 B Z& R9 E4 `' m! J
this->reportFinished();6 E+ ~9 t' u& x9 E
return; M2 P, [. z7 T2 n( {
}
" F8 a2 p6 I# h3 X* S this->runFunctor();' _) s1 a2 l1 ], b @
this->reportResult(result);4 Z+ B4 z" g8 l! ?- W& h
this->reportFinished();* K! k7 r7 |+ c) e2 [1 B
}
& i$ ]3 `8 i6 @1 d0 L4 Z T result;. h, [5 c) k* j# M$ |/ \
};$ W1 s g% e6 M
% ?9 l9 a/ `5 P. q. ]
template <>
# y. F, S4 s0 F/ vclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
8 J% Y5 ~0 u$ A2 W1 M* r7 ^{# C" c8 E. l: p0 o2 G
public:
( \3 v) p5 R \) I+ Z3 Y1 H void run()+ ^2 X2 R' T. S; O+ O5 t
{8 L8 D" T; }! _3 O! L
if (this->isCanceled()) {
8 k. s- Y( u0 w( D; T this->reportFinished();% ?7 l6 p9 V& U9 {' |
return;# n0 P5 b$ V9 O6 `
}
/ r! h7 m( d# N3 [8 X this->runFunctor();
' R1 ]& q. t) X% M8 O) Q7 U this->reportFinished();, z" b. ]. B. P) x2 ?
}
$ p F0 T4 z% H9 S4 ?8 I- T};
6 z, i( q8 O5 A5 v
3 Q. W* _+ e0 [$ R) u) n* P} //namespace QtConcurrent
: V5 [/ D0 e4 k" E5 H( B
% j! }! S9 Q& Q7 @8 r, a#endif //qdoc9 e1 q: D5 ~- U1 ]( m! R
# O" y; k8 ]1 g3 [5 mQT_END_NAMESPACE
2 j! @* n* ?, t7 O% q2 xQT_END_HEADER
7 U1 Q! e* w, a, Y
4 j, {4 L: Q8 I% R+ ?' f6 K+ J#endif // QT_NO_CONCURRENT4 R; e l2 b# H9 g" v( Z5 F
# }2 v8 f' X; G+ |#endif
7 a0 D. i/ ^1 d; I8 h8 a
7 c) k4 C. r$ H |
|