|
我对syslink进行交叉编译到arm,但是出现如下错误:& m G) {+ D* a' Q
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
) ]2 m" a% O3 H) A
3 p! i7 m7 e& `' a8 @7 D这个头文件内容如下:) L* r/ y! _" q& G8 y( o8 K/ b
#ifndef QTCONCURRENT_RUNBASE_H
, ^+ o7 r/ R- d#define QTCONCURRENT_RUNBASE_H! @5 T7 Z3 l7 \/ ^+ @* ?% g) v
4 F3 C( g% Q2 P" @- L' Y: k6 j#include <QtCore/qglobal.h>
$ a5 ^3 Y8 f! ^& g7 V6 R
8 b1 A$ v! [" w& F2 q#ifndef QT_NO_CONCURRENT: z' ]' v! q& o1 I1 t
( O$ s/ q, Y4 B#include <QtCore/qfuture.h>
# b2 m( ?* n5 J$ {6 P' f#include <QtCore/qrunnable.h>
- T! T5 C$ [4 V* I#include <QtCore/qthreadpool.h>
* Q' n+ _- O. |' o' X6 \- L& `
0 Z7 `* W% g) i- d, b3 c3 tQT_BEGIN_HEADER3 x# e/ S4 G$ G' A: x, v
QT_BEGIN_NAMESPACE
! ]1 I0 f, G" }$ _$ i
5 @ j* w3 F: d' {2 rQT_MODULE(Core)
5 o! o) p; V6 s+ A. j R1 U, T2 I% ?
+ {/ g% x: |6 ^#ifndef qdoc$ Y( }9 X: R* K. V
7 h& q3 X+ X* _/ X
namespace QtConcurrent {
, x9 n2 @4 L0 ]* s" K
' h+ _% E0 b atemplate <typename T>: _2 \/ T, B1 P
struct SelectSpecialization% v( x% |5 a; n4 E1 ^
{+ \5 O) L, V1 l# q; u
template <class Normal, class Void>
" ^2 B6 `4 n, p; o @" l struct Type { typedef Normal type; };! b8 T) l f$ [( o8 p7 @
};- k' \. e" _, p4 A
6 T5 h3 O# F1 F8 etemplate <>
) b$ E" h4 m- Z: ostruct SelectSpecialization<void>
1 W& N, W. `% F. F{1 Q! s6 ]1 w: F# Y4 b' Y
template <class Normal, class Void>, b$ P5 F5 O- _2 R0 ]
struct Type { typedef Void type; };5 o& a3 V- s* e! |% e" e6 f. E
};. G( F* O( R1 m/ N; A& x5 l
/ h, D$ r6 L7 D. J3 @) w* T( o
template <typename T>
. n: G/ c. R' gclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable9 C( M" \) [. Y9 D! e
{" q% B2 J; B& [1 j. T! q
public:. L7 G6 V- `) S; e) p
QFuture<T> start()3 e7 e) \# ^3 x: u* a9 v
{: ?6 M6 o3 m, k# B/ X4 A7 x" A
this->setRunnable(this);
3 m1 J, S/ V1 u) | this->reportStarted();
, r8 @- ` a$ }- @: @ QFuture<T> future = this->future();& y1 Q. k |# ^& y
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
; X6 T0 Z# C, X' i' `: f/ _8 L' B: b return future;3 M0 @9 S y8 T' N8 L
}
- f8 H8 ^4 t# K* b6 y/ s
- i. I( M( R$ y0 T void run() {}
# P" y" O; s i% T! N virtual void runFunctor() = 0;
2 ?/ F6 _* }1 t* t8 S+ D};
* g( q2 o) r# k1 v0 c! ^
. N3 s9 f9 t9 }0 ptemplate <typename T>
6 O* ^8 F# ^+ M" _, W8 Xclass RunFunctionTask : public RunFunctionTaskBase<T>
" A+ R& l/ [- V) o{
, |7 D3 ?" \, `; W/ _! Y. C/ dpublic:
- x6 r' R* \! t0 t8 h void run()5 _2 m" |8 `6 Y& X8 C2 ^' l
{$ @/ o$ T, Q6 L
if (this->isCanceled()) {' Z5 ?+ C7 B$ y* A7 M
this->reportFinished();
- z B- E4 e8 Q' F return;& u6 Q- I& n- {8 m
}1 T# r& e5 j! v
this->runFunctor();
0 n& S/ w, M" @" q this->reportResult(result);
8 `4 A- W$ Z- D9 m this->reportFinished();
) H+ I" b2 w' P" C. ` }, k" j' Y: u8 b; ~: Y9 D
T result;
( ~) x9 I R5 p0 C5 _6 m0 ?};
, ` V( E; t4 n
8 C; n& d1 k2 V+ y+ r# p& Y& u+ Qtemplate <>7 U: L) Q7 C" z: D
class RunFunctionTask<void> : public RunFunctionTaskBase<void>) {: F$ a) r- Z" Y7 i7 i1 r( D
{
. @3 X: }8 A7 D: d+ M; Opublic:! E+ K4 u0 E5 B1 B
void run()" n" U! U9 l) T1 l) }8 A( ^
{: W2 Z! O4 y. |+ B }
if (this->isCanceled()) {" M5 B: u. U. w5 J4 M; \. |' w6 u
this->reportFinished();$ f p7 X% ^! i7 U
return;7 G, q# U: ^. T* F
}
, J2 N" a. s+ c this->runFunctor();/ \9 T, e' T9 X8 L
this->reportFinished();* Y: k8 T- ^/ j3 {4 D8 U
}! W) F& e+ r4 q+ O2 H( e
};
6 b! w& ]$ ~" s$ J4 @0 |- `2 E, o5 Z, `, Z1 D9 [8 X/ ^
} //namespace QtConcurrent! }& n I- I4 `! e6 ?) H
( z5 L0 ~$ h# G* [) K; f3 f#endif //qdoc
9 l/ q1 n" E" f2 A& t
% Q) }7 |% E# P& }QT_END_NAMESPACE
% ^- f! H; p; X5 F3 H2 JQT_END_HEADER
w Y9 l% ]9 C6 D
( j4 a% r9 N7 m+ I#endif // QT_NO_CONCURRENT
% E6 m2 }4 }2 \( d$ X8 T, z+ m+ `$ {) m+ J$ A
#endif/ F, d1 H9 M" ^( w! p W% d
; }2 n4 M- M8 i$ X' ^; _# b; _
|
|