|
我对syslink进行交叉编译到arm,但是出现如下错误:
) x% W. c# W* P- m- ]) O/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
' }. z6 Z0 J% I5 v1 I' \! T: U( H4 H! I9 d
这个头文件内容如下:3 r1 N% {8 L/ J9 O& x- T
#ifndef QTCONCURRENT_RUNBASE_H
$ }; f% C9 s6 n% M5 m. p3 {#define QTCONCURRENT_RUNBASE_H
& N& d- x( `+ B: O( G! n2 u% q; [2 n% H; i# `) H0 t/ i) G) j5 |: W
#include <QtCore/qglobal.h>
7 N3 M; o- u- h8 f+ i
5 |$ A/ \# c5 k- G, x( C#ifndef QT_NO_CONCURRENT' Z# \5 @* ` k8 Z @& ?
( {% I- G' D" ?5 [- r" g#include <QtCore/qfuture.h>1 U# |5 j4 ]) F. K; W
#include <QtCore/qrunnable.h>
|" j; q4 t( J4 `5 n) q#include <QtCore/qthreadpool.h>
" S5 `, ^& T( D: z' d- m# X7 f
2 K: M O" r# s9 x. PQT_BEGIN_HEADER
8 l# o' @0 q. i& F/ t1 Y- d( W# k3 [QT_BEGIN_NAMESPACE6 ^, o/ C" E5 |5 A& n# d
: M/ c8 q/ l/ ?% NQT_MODULE(Core)
$ R2 Q x7 |% x. V* ^/ c' t+ ]5 \; ~7 K- l8 S& _% U& D4 D8 u
#ifndef qdoc% ~5 H' F. J. w( k8 P
2 G. k, R3 J+ C; L1 ]namespace QtConcurrent {
* i! l( |) J' m
1 u9 q& a- ~+ ]4 x. Qtemplate <typename T>
$ G( ?, z* E# _8 W; x* V6 U Zstruct SelectSpecialization
; s- x2 i+ j. t( @7 m5 a{
* |) i& b9 f1 Q; { template <class Normal, class Void>
4 r; d* {' h+ b6 O. } struct Type { typedef Normal type; };
5 y: S' U" j& o* q) T& O};& S( b4 k0 \8 U# t6 Y/ t' I
$ g3 g. I& i* X2 s) V: Ztemplate <>( a" O# l' R/ P& Z; q E
struct SelectSpecialization<void>
- \# s- K- e7 N' A. Y4 u! C{
, T6 c5 J9 b3 C2 | template <class Normal, class Void>
/ o2 v% p% ?* D; o struct Type { typedef Void type; };4 [, [9 i1 ~3 t# Q& E/ E
};
, A5 \# R3 I: c4 l& ~8 V, D ~, u+ r, F! k/ q+ Y/ b
template <typename T> s2 t( b8 \; k' B# z0 y( c
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable* ~8 \$ I+ ?; y# I! s: |
{0 d/ M, E5 c5 M
public:* d" ]& W' v' B' u5 T* {
QFuture<T> start()
, H! \3 {& b. [" ~& G. p {/ ]6 \: j: h" A0 l
this->setRunnable(this);5 p' w- ], ~% d4 t( u
this->reportStarted();
7 x# z, A4 P/ R QFuture<T> future = this->future();9 e0 O+ c/ C9 V, S; Y& Y- E' _
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
+ i$ V( V6 w; ]9 J5 W G: p7 d3 L return future;! _8 s4 {0 k! J) y7 D8 J
}8 z% \. e8 E3 P2 i7 c3 g8 m' m
& q( C: p, G0 H5 F! Y; ` void run() {}
" }, w \0 }. j* f# c virtual void runFunctor() = 0;
' A# j: m$ f9 G. m5 u- n};
/ g2 Y4 t4 I) ^2 h9 ~8 D8 f4 S4 T c8 S3 ?8 Q( N/ u) v
template <typename T>
" u2 w4 V- ~( Jclass RunFunctionTask : public RunFunctionTaskBase<T>) r @5 \" o0 E% \
{8 ]+ `) e2 X7 s% f
public:; D* q9 V; W% H0 b+ C
void run()
1 u, z% ^* k& P1 w6 [3 E& Y# s" w {
3 }" e) F+ D6 b7 t if (this->isCanceled()) {2 @) p: z: j* B2 \3 I' _
this->reportFinished();9 N7 O ?# u7 }) `! a9 T- \9 u
return;! R* E5 ]* e9 i9 |$ v
}$ J0 p3 m$ _+ a' w" z
this->runFunctor();
3 O, @5 I( M' I# p/ R this->reportResult(result);
7 W' Y+ G9 c/ J5 Z this->reportFinished();
% h6 i4 t' z, b* s9 e! q4 Q }
( \) {2 C/ l, P: w* Y3 U0 G T result;. ]3 e- i3 \7 m, o7 c/ X0 ?$ z- j
};
: i1 P: o9 \9 ^6 y7 u7 P c
: L6 E# r* W4 l# t6 {& { Mtemplate <>
' _# l8 g" g6 p& h2 W9 W; V5 Xclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
/ e; g2 ^, I7 q{
9 J; L* E$ p1 R* jpublic:
+ _9 b9 C, p6 u! }3 N( z: s7 j void run()2 m4 ~6 h/ \& c' c8 j- P3 y0 E
{
: |: o4 M2 h# W4 {5 V: Q& h/ B9 t if (this->isCanceled()) {
5 d% X5 |6 c" I4 z this->reportFinished();2 f8 m. { _6 H3 _6 x
return;3 @' \! l4 F! _5 O. m( J+ M
}3 N" S) k8 o# _+ L- j, j. Y1 D! w
this->runFunctor();
: E9 W* N9 D4 B! S4 e' [& `$ q this->reportFinished();7 p2 ?3 \2 q9 @4 f( E
}
' M2 t) w6 G: i6 W |};# H& r. K. L5 X3 Y4 I' q$ U
1 n3 u \, o) i' w5 E; ]9 |+ \( N& t
} //namespace QtConcurrent6 K2 B3 ^8 _8 A* b9 z/ p
3 }' d2 n; h3 o, @. I
#endif //qdoc6 }6 o y3 `7 D2 {
$ C0 f* s6 o+ I2 i, i' D V7 ]QT_END_NAMESPACE3 y8 ~$ [/ H6 c# _" {' Z
QT_END_HEADER
1 x5 D7 L; D% P% [6 z. s
) _2 A# n1 Y7 I# q" n#endif // QT_NO_CONCURRENT
( |& w( Z9 x# x# ?+ s
. x0 ]9 E9 O7 ]" a6 c0 E) P#endif
/ y3 A5 N6 }7 o2 L" s& |' }/ W' }' y
|
|