|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
+ ]1 R) N& `& U9 C/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'0 D( O. j0 ~7 K& Q. p* Z
( V' j. t4 W* h
这个头文件内容如下: ^8 c3 q6 s9 g% c3 o, W
#ifndef QTCONCURRENT_RUNBASE_H. m( I' ]% V( C/ d3 J" g1 Y# e
#define QTCONCURRENT_RUNBASE_H& t# e9 t4 F! w5 [
! {6 k8 m8 n- q" n# w% _
#include <QtCore/qglobal.h>
. T* a: W2 H) t6 n9 T" _ X+ V6 ^1 {/ c. d! `$ f$ P6 W( p
#ifndef QT_NO_CONCURRENT, u0 s8 D- N( l& m3 u. T j
3 o( E8 z" V! b( n4 j: N) r: p
#include <QtCore/qfuture.h>- Q$ L8 g8 Y/ \! n; `% u! V' D" H/ A+ y
#include <QtCore/qrunnable.h>5 A4 F7 Y8 d( _6 f- Y9 y
#include <QtCore/qthreadpool.h>8 _$ n; r" M6 |
* m9 _# I, u2 }0 c& X% M N2 PQT_BEGIN_HEADER
2 l) U. `5 e* J3 @' X7 `5 b3 sQT_BEGIN_NAMESPACE
6 ]2 f$ ` F* T# F9 u: p. _
7 P7 p( V0 z0 ~/ X& AQT_MODULE(Core)
8 N& X* t, ]$ |% g& E& G' h- ?& w# ?$ D4 E
#ifndef qdoc
3 m7 ^- {0 y& p/ |3 m8 t) {3 g1 X+ i% D. H
namespace QtConcurrent {
; K: w! C$ l) k# j9 ~
. i, L# _3 q/ R: }, ^) h0 I, ttemplate <typename T>+ V7 d: t2 a1 n# g$ _) p3 Z
struct SelectSpecialization
N8 |: G2 I7 R4 l/ t: E+ }& P{
& K+ p& e; f- a8 k template <class Normal, class Void>
2 O2 A9 w) K% f6 `/ ~6 _; M4 B5 X: ~ struct Type { typedef Normal type; };
+ v2 [2 s+ M! e0 N};
% D7 }+ X7 [3 ~8 j" `/ N+ B2 p ~8 ~# ?3 x
template <>
6 a( a- @( \8 W+ L1 mstruct SelectSpecialization<void>7 j% M* @1 i2 L( }1 Z! G& s: v
{
/ X) ]6 g" `' J3 H- q1 e template <class Normal, class Void>( d) }- r3 m; w- }! [/ G- j0 x
struct Type { typedef Void type; };
+ g8 T9 d+ j( i3 c8 X |- u7 M8 G};$ f6 E& Q' h7 w: i& `8 k( W) j
4 h' T- f; M- a4 r8 t8 x& T: C8 {template <typename T>. k# X7 D8 R: e& |
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable% L$ [2 l: f9 ~- I f6 X
{$ J+ t6 F) g- w$ C$ O( |2 ~: o
public:
y# I% L- P$ A# T- I( f QFuture<T> start()
* ?& e% _* ]7 L$ N0 i& _. H {
" y# r/ F3 \1 g1 u9 j' }. @ this->setRunnable(this);
7 N4 C' g1 r$ `) y- W; K' {. ^' r. b this->reportStarted();1 D8 l! F2 o, f; k* o
QFuture<T> future = this->future();9 j( ~7 X& F( Z/ r+ A
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);3 }, D; N" G, i& `- e: D
return future;3 R$ q* L' v# C w* P
}. ~: [* ]+ y# N8 z
7 b0 ]; `& v3 E7 i3 Z5 H2 n# l* D
void run() {}
J. c& K4 k" W* [, n virtual void runFunctor() = 0;- ^4 k, a" P, K9 }
};
7 f. K/ | g' v }; r6 I% R7 g' M+ b8 U
template <typename T>% {' A s& x+ p* ]; \% L
class RunFunctionTask : public RunFunctionTaskBase<T>
x6 c2 ?) K9 z: X# M{
% E, s# `! F) C0 z4 `5 o6 mpublic:% v1 {5 Z! ?+ Q: J) f) Y$ M, Q7 ^
void run(); y- Y* w9 ]5 `/ V* g% o
{
+ }+ f+ q: b4 v* r }, w if (this->isCanceled()) {$ w2 ~3 i5 r- p5 d5 Y! L1 q) Y( h
this->reportFinished();
2 M V$ j5 A1 X: \: L return;- z6 Y L( b- m# c4 @0 r, N
}+ i- Q& D: L( Z3 Y( X* W# e
this->runFunctor();
; J# M c5 y5 g1 a6 m" W this->reportResult(result);
# @& F6 b0 `1 y$ }) Y# } this->reportFinished();
3 b* c7 G1 d0 N; ?+ g1 p8 n }. G: k0 [7 E0 A
T result;' n1 J6 M/ d/ C2 Q# }
};
! h' d5 F- e: a8 V" j
! |) B- a: ?% k- Y: K. ~template <># f ~% k& t! i- t3 i
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
; @* ]' I y% r4 e- K{; {6 O* \" ?8 A' m6 k5 O( i
public:
! u) X' I7 N% h! z, Y void run()
' m3 g/ h& Y* y' f- }3 Q) {: S {
1 _9 E6 f* `: w if (this->isCanceled()) {
$ G6 t2 d0 N% Q; I3 B( x- d, ?# { this->reportFinished();
+ c9 p+ J$ V: i! m return;
: t$ U3 a0 ~0 q/ x2 f& | }' l& l! w: {* X% u9 l9 L8 g/ Z
this->runFunctor();- \& d8 q) b7 q! Y3 _) L
this->reportFinished();5 L4 T9 r; E" M* j0 F. r% X; M- ~8 e
}+ ^! @% d2 Y6 {* L
};
+ V6 ?+ z% s: `- L! F
' x5 v; | `- A9 A9 s9 r, x} //namespace QtConcurrent; b- {. L* w1 d& Q" x) [
' F) m& b, P o- E; ]0 W% u1 C
#endif //qdoc! A2 n5 C& |6 @) @( ~; x# g2 n
) D: B. D) a7 b) T; }8 G% k
QT_END_NAMESPACE* f, _5 L* G% Q* i0 O6 `9 J! C, H
QT_END_HEADER
: [3 c" f3 Y$ k7 o5 U4 p) @1 b4 K' m- k6 J" C
#endif // QT_NO_CONCURRENT
% ^- V% J: E! E0 E0 K* u
4 I6 s! @2 I6 t: ~3 _#endif1 E0 X' L- F" }! N
8 X# b9 o- J4 R2 H
|
|