|
我对syslink进行交叉编译到arm,但是出现如下错误:
. s+ c1 Y/ I( Z; P: N5 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'
* H: p% Y" W# u" R& F/ N! B
9 v+ `9 j3 ~- x' u8 Z这个头文件内容如下: i: ?" [ o4 u% \0 E
#ifndef QTCONCURRENT_RUNBASE_H( S( y+ c( v. X
#define QTCONCURRENT_RUNBASE_H8 B4 ]5 \- H) s% Z% i' r% V
2 M6 M7 R, Z d0 }8 B#include <QtCore/qglobal.h>
4 v0 y* T6 d5 c' }' k! u D1 T
#ifndef QT_NO_CONCURRENT
8 V6 V2 p6 J! p0 {2 Y
. s/ o6 ` q2 o5 O- B5 Y#include <QtCore/qfuture.h>3 Z9 O8 F7 g0 g9 w! m
#include <QtCore/qrunnable.h>4 y- s/ ~. \8 H. K' N
#include <QtCore/qthreadpool.h>* @9 i+ A$ \; Z& U
8 b; m* }* d C% |: L
QT_BEGIN_HEADER" y1 l: z2 j- ]4 t" n
QT_BEGIN_NAMESPACE
H# I# W1 T6 ]2 t/ I6 u$ i- A. f7 y- {
QT_MODULE(Core)
3 }# z3 b# P- Y% x$ V1 t8 M; i- x
, A4 C$ k. H$ Q0 t! T#ifndef qdoc% O2 m; L: ~) z4 o% S8 d: C: ?( b
5 g; ^, Z& V9 ?# l* S
namespace QtConcurrent {
" n5 S8 Y3 o* k% T3 s) D. C* }: k9 `: X, X. o9 ^
template <typename T>
! I3 ^5 Z1 H- O1 i u. F$ i9 Fstruct SelectSpecialization
, u7 F( R8 r& r3 D5 w4 w{
- B; S6 E% W- a6 K; Q template <class Normal, class Void>
( e' ]. y. l8 G2 F8 R struct Type { typedef Normal type; };6 }" e+ d6 ^" B
};; w! d: G6 u% c: n! ?( R3 ^
6 p% c6 n3 U: Q5 |# t
template <>
2 v+ c7 f' w6 [' mstruct SelectSpecialization<void>
, } a# T% Q# ~' s2 B0 F{
6 ]6 n, V2 O0 ~, L3 ?; V template <class Normal, class Void>
& t( w5 v# A: f+ ?4 x( Q struct Type { typedef Void type; };1 r$ M+ J5 h7 m, ?; Q, \ j
};
& z+ z" \7 s3 M. Y+ N$ s* }
4 U: X1 a, b# Ytemplate <typename T>
# ~4 s! b7 J2 L! g; L# q8 d& [2 pclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable8 f# F! k3 y# ^4 v0 C
{
/ ~. @; s. C7 G3 b' a1 o. _' E$ {public:
3 D3 d& n: S% O$ n/ ] QFuture<T> start()
: D4 j2 x9 ^1 H0 T( s7 v {
0 d1 k1 O3 V2 |% A( A0 v this->setRunnable(this); [; j7 D& S5 d- G6 J1 Q
this->reportStarted();
8 A+ D6 i) u: S; g- ^: ~ QFuture<T> future = this->future();. s- ~( M# N: |) G+ Q6 X2 |- u
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
! I" z+ f% }' h+ l) l1 s' r return future;
+ j6 L. p, w- Z7 M5 i }
# x! r$ |- P2 y' j* K' Q7 }, i) z: w/ \3 r
void run() {}4 Q! D: W+ ~/ O' o/ d+ m
virtual void runFunctor() = 0;
6 n% t5 p+ k" P& M- p8 d};7 F5 w9 j3 w: @6 t+ U; _. z1 r9 Z
$ _4 l( E/ A: o" F5 m6 Ltemplate <typename T>
! q& E G0 r3 f7 Y+ F5 bclass RunFunctionTask : public RunFunctionTaskBase<T>" Z! ^7 [7 T* u. A, U- i2 g
{) A$ [# l5 ]) g8 G
public:
4 ^' f5 h+ Z+ u" ~ void run()
0 X2 L: b5 Q% u. N" B0 M {5 r; B- Q4 e: }! G
if (this->isCanceled()) {
$ ]3 P4 P& }$ x; f* @ this->reportFinished();
# l/ e& b( c; s$ F5 X8 |! O* M return;
5 f7 N6 u [! ` }
3 F$ k- h& T$ Z, q7 H9 Y0 a this->runFunctor();
: F+ u8 D" p ?1 `' r2 O9 U/ Z! z1 j this->reportResult(result);0 K" c+ c3 d ^& T6 b1 ]
this->reportFinished();: a6 e! @" y3 D& n6 `0 `4 v9 ?
}' H* v. ?* H4 g7 ?* s1 r% J% T
T result;! T! ^6 n# E% H6 L7 |3 O8 i
};, f3 ^& [2 o& b# q
6 q/ q: v! y2 X+ H
template <>
( r9 p6 w' l# }+ r9 _' n f* [class RunFunctionTask<void> : public RunFunctionTaskBase<void>
! \4 [! M0 |1 o' i{+ x5 e9 K6 ~7 H0 H! H
public:+ h# x, I8 r5 m6 g5 t
void run()
8 k8 n+ g# R- R5 E: V7 ~8 q# T {
6 ~. R' ^+ x! H+ L0 g9 i, h9 w if (this->isCanceled()) {
/ Z ^: R8 z8 I this->reportFinished();9 ^- o8 X1 X) O9 B g2 _& |+ f9 i% Q
return;
8 K9 o; U) G( x% p }/ M/ H, ~% T: {) D
this->runFunctor();' T- Z* U* t J3 h% T. S
this->reportFinished();, K, f& F7 L0 c4 k
}
+ E5 ~; a3 A8 R2 F2 i& q% D};! h( U( i* ~# f2 O8 Q0 U6 O
6 {5 B* ~7 R! z* [5 e8 q' ~$ o8 J" }
} //namespace QtConcurrent2 F/ }+ i* S/ \% }+ g
2 W# B2 v6 K( _. ~# a* j& Z2 ?
#endif //qdoc
3 G/ X$ q" j V2 ?' X$ C
0 w6 _, t% O* o# @; GQT_END_NAMESPACE' z) {+ K! V* P' a2 K4 l) }# w
QT_END_HEADER3 \1 [1 x8 `+ v
$ o. x+ B2 a6 t; T2 G
#endif // QT_NO_CONCURRENT6 c( o( R+ e# o1 v; K K9 d) W
3 k- S( J8 ?/ x4 Q#endif
! [* ]+ I4 N' s+ F: o1 n
0 j2 k) `8 p [+ A$ o8 { |
|