|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- _$ e2 s3 h5 z/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'5 V- ~7 v. P' O3 k
+ s4 y& u T; N这个头文件内容如下:5 [$ h/ E7 }) z6 ^( n
#ifndef QTCONCURRENT_RUNBASE_H6 O' l( m5 T# M' u2 V; p' s
#define QTCONCURRENT_RUNBASE_H
) `. s: {! C& D( K- |" _3 Y: Z" }+ O6 z' a# }& ?1 {0 B+ L' W
#include <QtCore/qglobal.h>
2 ]3 z6 w' I# V1 y- f( ~
* Z$ _- M/ z, Y4 a% P#ifndef QT_NO_CONCURRENT, [/ J3 R' f6 [
7 Q) F; Y( u, Z/ k0 h4 o& A5 |#include <QtCore/qfuture.h>1 h* I |9 [7 }6 Y& B
#include <QtCore/qrunnable.h>/ [: }; x8 Y9 |8 F# y" G4 F
#include <QtCore/qthreadpool.h>
. \/ b. I. M7 w9 ?2 R- a
: {3 @7 \$ A" S7 O8 i6 K& RQT_BEGIN_HEADER
d; S2 O7 a6 XQT_BEGIN_NAMESPACE
; r) k; w* k7 O4 g( w6 }
* u0 M2 t/ F8 xQT_MODULE(Core)
+ N' p }/ a/ O y' |9 h
2 d U D. b! V3 H#ifndef qdoc
3 W9 t8 O$ U' C% N/ M" i8 R
, w4 n: m' X& {' m' S Z& Anamespace QtConcurrent {
5 g$ _8 ~* S* r1 K" `- l7 Z
3 X: ]# \0 G1 t8 p! c2 O8 Z K* H/ etemplate <typename T>
9 w* ?9 g! q. ystruct SelectSpecialization; m; o/ U& ^" X! e( q9 ]) W
{+ X4 h: h; u( Y$ e9 u
template <class Normal, class Void>& ?1 M1 F( k) `6 R5 ?. O$ ]- |& k9 g% {
struct Type { typedef Normal type; };
1 U, F/ L, Z4 N! E) ~};6 W# E: J; t# {; F, ]# Z
8 h0 u5 S' Q( b, I: vtemplate <>
5 Z8 j; _9 E& A0 M3 xstruct SelectSpecialization<void>
7 s( |% N. h$ i9 b{. a: r, n8 k* H$ k
template <class Normal, class Void>1 w8 r# H* H, J- K* F/ I; g
struct Type { typedef Void type; };
5 k/ p Q4 s: K0 T3 S) h# H4 a4 q};
8 G( ?* B* s* r# g9 m9 y: r! o' t9 V. _' k5 D
template <typename T>
) c' ~0 s* [9 @, m! J0 W5 tclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
/ T7 m* j8 {& W1 u- Z4 h6 {{
- ?; v: J2 @8 W. @: ?public:) x: \% c/ e, s. j; i; f
QFuture<T> start()
9 g: O- H5 g7 I4 I: G7 Y {6 e$ Q+ o, u. U# q3 n) i: S
this->setRunnable(this);
1 \: \# I& r( B; M9 ]1 B: C this->reportStarted();! |- b n; e/ w1 }3 O
QFuture<T> future = this->future();
0 W3 X5 v/ ^. f- w( w/ ^) _ QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
" K9 {; ~( C+ m! n return future;
, A. v, l+ _" w; q9 Y6 g }
2 F8 z# z" A, N: X1 x) e
# u: l$ Y" `- n2 i D Y8 k void run() {}& p% N' o) d4 i, Q7 M; G" x2 w
virtual void runFunctor() = 0;8 K6 J* u3 U8 a" w" g% o* F8 w
};9 W7 z1 n/ M" b3 p: v+ I& v" N% j5 E
( l) v, _3 m" I P! Xtemplate <typename T>9 q5 N5 ^6 }! L; J
class RunFunctionTask : public RunFunctionTaskBase<T>" V0 t% E7 t5 {+ ^0 K
{* n; i# b* V. F2 y2 G7 i% y
public:
; I6 N( x3 i0 s1 ~ G' ^* g void run()/ s6 ?3 @7 ~. F1 s x0 L
{& y& C* s' c- J+ g; y
if (this->isCanceled()) {
2 ?/ Q2 f5 T6 ]2 l& v this->reportFinished();
+ j7 }8 Y* Q* G e return;
6 N3 [/ _: L& g; c, _0 A& O, A }
& b# U) {' ?) f! |! j this->runFunctor();6 c, T0 {8 | c4 C) P
this->reportResult(result);1 w: Q& G; ~( g4 b8 S
this->reportFinished();
4 a7 k3 e+ k! `* K: Q }
) _: a! E3 G2 J/ m: m T result;
3 d1 P4 k9 ?1 u- S# ~) O0 }9 J};- a" _$ }, z1 W, v' W7 A( ^
3 R% A, F" h7 G- Dtemplate <>- C2 |0 D, l' Z* n' I2 k
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
4 S1 P& H7 n+ y7 y: _: y{
! b2 V. s) L2 w' x$ h2 h( v Ipublic:
. Y8 R& p% |3 @ void run()
, Y& n1 G& l8 C7 C! e8 z, O0 f {
' V3 ?1 B8 z% Y* Q. J2 P) l& J if (this->isCanceled()) {
' l: }; ?. D! ^9 l8 N# u this->reportFinished();
U3 ]% j. {0 C/ i1 ~ D$ v3 U return;
% h S5 |/ j7 r$ W }6 w: P8 ^ u# m I
this->runFunctor();3 t7 f) N J6 v/ G/ c, _+ Q
this->reportFinished();
( ^! y) {9 R) R! w# L2 ~) d }
! x1 t3 h8 W" k+ H/ _9 E5 a% f};7 f0 d U) f5 V+ n* m" @4 }+ E
% z6 _" m5 P3 a7 }} //namespace QtConcurrent( T. n$ v# y' P S- l, D
# t4 `# w0 K7 M% m1 ]
#endif //qdoc( P5 D& Q- T# P8 h& U" r
0 X" k( V0 X9 W2 c$ E
QT_END_NAMESPACE
% K6 u! W; L0 X( M5 J; gQT_END_HEADER
$ J: q) P0 t c% J# k/ H( x! i M# @% n
#endif // QT_NO_CONCURRENT
( ?# F+ v" l( t$ b$ L& ^& q, g, t2 {; W4 I8 i
#endif* k _" Z: I+ \ z! R
/ ? k0 j% A0 j; p
|
|