|
|
我对syslink进行交叉编译到arm,但是出现如下错误:1 [0 W: y }( _' b
/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 i9 T" q: U9 V8 w3 W9 Z
# R1 s' c5 b+ X2 F, r这个头文件内容如下:
7 B: a) c( g8 k1 x' _#ifndef QTCONCURRENT_RUNBASE_H
* }/ m0 j; t9 b& S#define QTCONCURRENT_RUNBASE_H5 u/ a& |: j, _' K% \6 j
8 J0 @! Y8 D% k: v
#include <QtCore/qglobal.h>
& {2 P9 C: @8 M3 \; w1 x4 r. F
C, `( r% [1 [0 w, ^$ c#ifndef QT_NO_CONCURRENT0 b" [ w- U' w: b: a# ]
6 i( G3 @+ z4 K) E/ a
#include <QtCore/qfuture.h>
a ~" C, v% O, Y#include <QtCore/qrunnable.h>9 G T! l4 g! w0 w
#include <QtCore/qthreadpool.h>
! d6 |- U# Y$ y4 R
" t v, _( _! K. }QT_BEGIN_HEADER7 r1 k# U! q R0 M" Y, M
QT_BEGIN_NAMESPACE
( S0 D! f1 n. q* W. G5 S1 @8 _8 ]- m& B% b
QT_MODULE(Core)
& ~7 c3 m+ C8 j9 X c: j, n) d j& `, g$ M% a8 H
#ifndef qdoc
" G9 p' K9 i0 c% r( z2 c7 k$ v4 t! x, D4 g% ?( f7 g7 ]
namespace QtConcurrent {
]3 @0 h$ Q6 e( _; `" L) H$ Q9 a5 Y- J
template <typename T>) L2 O( _% l: C; v6 _$ ^
struct SelectSpecialization
7 @8 J& A( q$ S! J' R0 S6 E N{
. _4 L2 J H2 P0 S: K. h template <class Normal, class Void>; s# W; Z: U& Y
struct Type { typedef Normal type; };
% {$ v/ R# ?) n" P5 g};
" W( E) G& W8 O
# Z4 K" u6 n5 @) K6 C/ A/ ^template <>/ H; d B3 U. @
struct SelectSpecialization<void>
- A \ u5 ^- {3 F& t{( _( `9 ~/ @0 V3 i0 _: T
template <class Normal, class Void>; T; v) g- t* |4 \" c, i* P/ y. b
struct Type { typedef Void type; };
* A* M- ?' N7 O. F; H};
2 u; h+ s4 [7 t; F* h
5 a. E5 B5 j2 n7 Ktemplate <typename T>8 _* P- a3 V8 V+ {8 q# q/ R) v
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
0 b6 P, r) I! L4 ~4 J# C{9 O2 i {* l# P6 w+ ]( e% ^% D
public:+ P% _( o0 x: j5 O3 I
QFuture<T> start()2 I& E7 {- i4 Q& P& u6 u C
{
9 \3 c$ W* Z4 F" c1 M this->setRunnable(this);2 H( U" ~/ S! f# p; d
this->reportStarted();: x* R, x' g4 q; D2 i# x0 n% J0 R" a
QFuture<T> future = this->future();
8 G( s0 ^- j9 } QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
7 F. ^+ z% }: ]) ^ return future;. D p( v& H2 V" Q& ?. ^) J$ ^1 m+ o+ r% {
}
+ E7 C4 y$ Z* p6 I8 g$ b1 j: Y- p1 c/ ]* \9 `1 v
void run() {}8 \. }! c, N5 a6 B, } R, y
virtual void runFunctor() = 0;. n8 a+ k4 v X5 b9 b# o
};$ t% f) }$ G: E" s
2 i- `4 k9 M. V; e/ y
template <typename T>
" m: }! b+ d& B- i s+ v5 [; |class RunFunctionTask : public RunFunctionTaskBase<T>
$ d! [9 f: J; j% i$ O! V{3 F9 r9 V# {/ Q {# W1 {
public:
! @# ~/ J* \8 u, Z0 |$ ]& c! |: H void run()
7 _0 [0 A2 `! v7 u! a1 [' }. k {6 ` [7 b+ n4 m7 a+ v. r5 g
if (this->isCanceled()) {
9 v" x9 K! u* x. x this->reportFinished();
5 L* P4 y ~$ z$ g/ a( z return;
& L$ Q9 I& P: N0 y7 T }" ^8 n. ~- `- K4 d& y
this->runFunctor();
8 ]; O [$ E z( U this->reportResult(result);
' w2 |: O/ m$ l this->reportFinished();+ r& X) @9 N0 ?- ?
} g3 d4 n) x( j5 O4 N1 i
T result;& N: U1 n# l8 J9 W
};
: s& P7 W, G" g! v1 A: e/ M' F$ |8 a u
template <>+ v5 U7 L& m0 k0 y" x; m/ @' Q
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
. r9 J8 w/ P4 s/ s{
9 D/ s6 }3 B6 U+ g7 ~" Q: ppublic:
$ ?$ O: v( E* d- R/ q8 v void run()
- z. |5 `+ w6 U- S6 ? {" J3 V( v# m3 \3 x
if (this->isCanceled()) {
. P5 D" G$ o; z4 M4 A this->reportFinished();% Q; Z9 E5 D8 j2 e
return;: Z M+ n# p" t
}. D7 A4 Q! ], g+ H
this->runFunctor();
4 N( t4 [6 q3 p/ \ this->reportFinished();
3 @# d" G [; R! L7 K }" b3 u- H& o( a5 e2 W
};
6 t% x9 G: g7 t; R7 W2 y& a: q! e$ z
} //namespace QtConcurrent& }$ x9 Z" f3 J0 e" {# t' c2 X
3 s5 k0 m; s& b. H; t( P# F& g
#endif //qdoc' u0 a) g5 q" H
0 d; P: @* [6 d4 qQT_END_NAMESPACE( O0 B: x1 h$ G% B/ D4 i( P7 {
QT_END_HEADER1 b) L* ?5 D* U# Z* k, G& L
2 R$ g' W1 u' P#endif // QT_NO_CONCURRENT1 {5 ~$ p- t, m. g4 P
) Q2 C8 u6 C( p1 V" W#endif6 O/ x2 `: g0 C& S
% B, q7 ^# T: {
|
|