|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
8 F& V, O5 V! t+ 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'& r3 |) S4 u/ I! V! Z
: ?3 h+ L/ Z3 u/ z
这个头文件内容如下:$ v+ q+ n9 A2 l3 P a# W/ f* s9 C
#ifndef QTCONCURRENT_RUNBASE_H
: J) U* y# d; `#define QTCONCURRENT_RUNBASE_H
1 d/ ^0 k" [: `
& ?) M2 o7 g- |- F#include <QtCore/qglobal.h>
~. n( D5 P- r3 s6 w" y7 v% S; w* h9 D& u7 {
#ifndef QT_NO_CONCURRENT
) U" |/ F0 A! `# }8 X8 t/ v' [7 u$ F
2 ~1 {# S( ?/ O7 b3 |2 U, \#include <QtCore/qfuture.h>- i5 T- N7 _8 X; r i6 C% j; v; w
#include <QtCore/qrunnable.h>1 P& R6 B6 S3 ^* d3 Z
#include <QtCore/qthreadpool.h>
* Z6 i7 G+ O( {3 x! |+ ?0 Z* s( x) q K, ~" Y9 a
QT_BEGIN_HEADER% c9 e; I' U( r& h
QT_BEGIN_NAMESPACE
1 O& a; m+ X6 v+ ~ k
' z! ~: i, `& [QT_MODULE(Core)
/ H) P& q" D2 M+ l: ?$ B9 ?; x% x! V. k, J+ ?" Q
#ifndef qdoc
7 u* N. T9 k# O5 E$ o A& f/ O x; F5 r, d/ ?, r
namespace QtConcurrent {
6 a6 E/ O& }4 l: i% R1 {- V+ D+ e9 w" r0 D" m. y9 S
template <typename T>
W( z6 |9 m8 A4 dstruct SelectSpecialization/ z4 T# W6 h) O; B8 R( A- v j
{0 i) L; Z9 C3 W: @: U$ N* r1 W& x
template <class Normal, class Void>8 L* ~2 ^9 }4 D- t
struct Type { typedef Normal type; };
/ M5 j8 v0 ?1 c& _2 s- _% ^" d};
! {2 L# a7 d2 M5 {1 r. V
! I8 ~& v# v! [7 ]/ R) Vtemplate <>+ j3 Z( \. Y; I' X/ M- `
struct SelectSpecialization<void># t- P# C9 `: P( r9 @) z
{& _8 I6 F' y' i3 D/ D
template <class Normal, class Void>
- v! ?" I5 p, O6 U struct Type { typedef Void type; };
( ]& A$ O& h7 a# @4 K1 ]& i}; _ S( R! a3 F8 F
4 [8 e g& \7 A! A, Mtemplate <typename T>
3 j+ U% G' U! j, w; zclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
# g w8 D2 r0 n+ s! i; o% O5 o{
& b3 |, n5 D$ W8 n% {6 z, `public:0 b, }, x: ?( T) |4 Q* n; a4 b
QFuture<T> start()
/ e2 f% v" b) l {# Z& l P- @% Y7 s+ x* A
this->setRunnable(this);
6 v# L8 I" s8 G* a% Z this->reportStarted();' h* J1 ~9 e( \. G* ~* }
QFuture<T> future = this->future();; L: _6 c- R* o. j/ Q/ u$ j
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);; r0 Z8 l0 \# t
return future;* c1 C' O) H8 o3 w1 v
}5 c2 c" q/ P o$ u7 a; F
3 z J! Y+ S5 m
void run() {}) @3 q6 g0 ^4 M/ Z2 ~
virtual void runFunctor() = 0;
$ ~" ^; [+ q: x3 c, T( M* O4 Y};' _/ I7 g7 o1 Y+ p4 j' d- v+ I& {& U
: Z/ H' ^. Q. ^7 Q& Q
template <typename T># g" Z+ n {! e) a: x' H, V) [
class RunFunctionTask : public RunFunctionTaskBase<T>5 k# N' u* R4 ]1 q+ Z
{- J% z& n0 o' L& R- L" u: l6 F" m" I1 Q
public:
) s0 h1 `4 L7 b- N. l$ ~$ ` y void run()0 `6 O& Z" i: D
{
9 }# p& G% a3 ]7 U if (this->isCanceled()) {* c6 Q6 J3 i& D% p/ H. k* n
this->reportFinished();
2 P' H {6 J" @* Z z3 {3 h return;% F6 w( f; ~, M& u- s3 Y" W2 |. w
}
4 h4 u1 F2 O1 r! D5 l- s9 X this->runFunctor();
+ [* [0 \4 s" }( Q3 ?% W, g this->reportResult(result);
4 K8 Y( o0 P" b+ k' |3 B( ? this->reportFinished();
x# ~# E/ M7 s }* G" M* u6 x c5 E; s0 B: b
T result;, s& C* i3 m c' _" L# ]
};
6 M) q* |, _* B0 n
5 {1 j, a7 ?8 ?! Q$ p9 Stemplate <>6 }/ F) }: z( ~; N/ x
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
$ d3 ?, [" x( t r5 v{
. v1 n0 K+ a* \/ v) n6 Fpublic:
& a. c6 f$ h* o void run()
8 t0 x( d1 p/ P; t+ c( ~ {
" D" \7 U/ Y* o5 n" c8 e, ^ if (this->isCanceled()) {
) ^' ]; {2 s3 l+ n2 ] this->reportFinished();; E3 q1 {0 o3 h( v
return;# X' s% C) {3 l' T' i, V. f
}
! P' e: H7 i, I8 N5 j this->runFunctor();$ E6 ~0 d$ j! b6 u/ Q) B
this->reportFinished();
8 q" `3 N) q1 N/ r) K4 n% L }& I7 T, ^" f5 y
};3 G0 d# ~4 q3 C
, s& `; s9 {& Z z$ ^" n1 Q2 q* D
} //namespace QtConcurrent3 a: u8 D' k ]! g" j9 I
$ Y% g* o3 N2 O) s+ }8 d#endif //qdoc; O9 a. q8 ?1 V" d
; y/ Q: o9 A% p" ?# D1 G
QT_END_NAMESPACE* z: n2 K. {* ]
QT_END_HEADER
+ W) @) M( o c1 J" P4 @! `1 V; O8 H& o/ A0 j2 S
#endif // QT_NO_CONCURRENT
: F7 A F3 c' u
8 K, Q _& J$ X- L+ E#endif
; b4 C, t, d8 g8 Q4 W+ W0 t: q4 E/ g; Q
|
|