|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
8 G: ^6 h% G, v/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
7 d3 P! q1 J7 W0 a8 u) Z. e. ^1 M* B* O7 e8 F& {* W
这个头文件内容如下:" y1 p$ N3 [1 }
#ifndef QTCONCURRENT_RUNBASE_H3 N: G1 H/ {- P8 y
#define QTCONCURRENT_RUNBASE_H! v* B; b; U, f: @4 r6 F
D$ M4 Y+ E+ n3 N6 J#include <QtCore/qglobal.h>
+ [2 P# |% W ?+ d
- ~- N. s* S7 m" J+ m+ _; x#ifndef QT_NO_CONCURRENT
1 d3 y9 E$ x f5 l: C- p' z7 s9 Y' B6 o2 W0 H) v0 U% K0 ]& F$ ]
#include <QtCore/qfuture.h>6 x: Z% N4 r8 T
#include <QtCore/qrunnable.h>
3 d9 h8 R2 M2 Q- B#include <QtCore/qthreadpool.h>
6 o" U. [! O/ v& q
; P* b- ~4 \! w" W' s+ uQT_BEGIN_HEADER
( B3 U( ^; m( H* p7 G6 i# FQT_BEGIN_NAMESPACE7 K+ K* D" l6 z( y
% o5 V- L& \7 \, ?QT_MODULE(Core)0 Q) W4 [% P( p6 E5 P
0 [" f& I) b9 p3 j
#ifndef qdoc- {/ O2 G8 Q% R8 k0 P
# y7 B" U1 X4 C
namespace QtConcurrent {
8 _1 }2 H, G" F- a \0 h6 e6 _/ |. N+ o8 K9 l1 W c
template <typename T>' w" q( [0 W* ~) r5 v$ ^$ C6 J a
struct SelectSpecialization0 D: h* {* m9 ^9 a
{! l5 Y% ]4 X4 Y9 G2 ]6 j
template <class Normal, class Void>& ^" h0 K( N$ G# E) l
struct Type { typedef Normal type; };9 V9 q5 d5 c1 w7 [. L6 ?' o
};) q5 _7 b, v/ {6 [ ~
9 A# L% N% i0 _; `! \/ f
template <>0 h# k" _) `/ T& t( r% o
struct SelectSpecialization<void>
8 Y+ x3 Z' V/ z J$ K# Z+ T{
& A Y9 { ^- d3 a3 H: T! k template <class Normal, class Void>
* R Y3 L0 G" x+ @3 `, Z V5 ? struct Type { typedef Void type; };! K; r2 j2 d$ e* |0 c
};
1 t; g4 ]2 E6 M. o- M
7 ]( Q0 k/ e( Jtemplate <typename T>. q- U: h0 v! D9 U( U
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
3 `4 t( |6 P5 y/ ?) g{6 ]: d& ^3 G1 M5 F0 {0 m
public:
6 M* n: s" R) F6 j QFuture<T> start()6 z& v% D5 D4 v( f
{5 L% C2 T# g( e8 V# ?
this->setRunnable(this);
: k2 G) u0 u7 ?. C- u this->reportStarted();! w5 g7 D& K' [* q0 A
QFuture<T> future = this->future();
, N& |! K2 R. t$ ? QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);5 t+ T# t k0 [6 I* b' G
return future; h" P [9 ?$ _( [( |) I) U
}
; Z# ]: ?& h- [& o3 A1 O8 E% Z% C" V9 {
void run() {}
" K- s2 r6 E# E. U s' u virtual void runFunctor() = 0;8 Q0 e6 A# |3 b" \5 ~2 \$ y) k
};9 p/ m) T5 `/ U% T
: k0 E# W* I4 r! q) ?( w% T3 Ktemplate <typename T>
/ }- I O1 }; l+ `0 Cclass RunFunctionTask : public RunFunctionTaskBase<T>
$ N9 w; e1 @- _9 C2 k8 B4 D{% o6 i) y! H% ~( j- q
public:3 f" ^. m. k; ~* n+ r/ K
void run(); V6 J9 ^8 X. u. y. _% V9 R2 J" \
{
3 l8 `; M% M0 o. K3 G if (this->isCanceled()) {7 }: U3 b U/ ?) [
this->reportFinished();
% y" I! O* B7 Y& v4 T/ Y, | return;
: D7 a7 f5 W! @& h( f& m2 k }4 o, J% T6 n x7 ~0 k/ k7 z/ B' z( l: I
this->runFunctor();
/ b* F N* G- X) Z* r: _, B& f this->reportResult(result);+ m( B* `) ^0 J) ^( z# d
this->reportFinished();$ a3 j+ z% E9 N8 M9 y' e
}
% e+ y* R1 R% C6 E T result;! c8 }2 x; A4 \" ?
};
7 b- N. @' p! m1 ]+ r; U7 Z! B$ p' S' J8 A1 |& Y( v
template <>& y# {) X5 k4 ?. `, N7 \
class RunFunctionTask<void> : public RunFunctionTaskBase<void> W3 S' c0 i! h' M
{
i* W# d z- t+ l' vpublic:
1 w( C0 P+ ^ I7 q/ m+ f5 ~. G: x void run()$ y, ^% C+ s5 ]! R# M9 O j$ l
{' w8 P0 x5 G# B" J
if (this->isCanceled()) {
4 ]/ K7 L% l% l& L7 u this->reportFinished();
; i. a4 P* d+ R0 | return;
# z6 x7 `1 z: N. d, c( m q% ? }
& E' ~4 O6 _+ m6 ` this->runFunctor();
2 e7 ^7 v# r& m+ B5 S* F this->reportFinished();
& v" r! O" t% k! Q: C' z }
8 X& ]; W1 }$ A};& w8 b, ]7 c3 W _# ~: X
: l/ v: U! M# W- k7 O} //namespace QtConcurrent
* p7 o9 o3 u5 p0 C
7 D: n2 N* L" n#endif //qdoc
2 a0 x, r2 l* r0 i8 d1 p+ L
- G( ^% |* q( L. z+ y& r% ZQT_END_NAMESPACE3 N# s5 G" h6 X, N& o% x. c
QT_END_HEADER1 w& f' I9 O3 y* I4 n- F" A1 D: N
& y" k' W$ ?5 p4 u4 n
#endif // QT_NO_CONCURRENT
- _" K* w3 B1 X) S- S* X' |9 { p0 o- M. e
#endif
1 Y2 P1 K" n+ [% H8 x d, j" G) d4 [. O7 f9 |4 P) T5 B6 E
|
|