|
|
我对syslink进行交叉编译到arm,但是出现如下错误:" N: r% f' c0 U% |
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'6 o& K* W6 s; {. d9 @% f9 [
& Z9 Z0 Y6 _# C
这个头文件内容如下:
- P& Q1 y1 B, P( H) o4 J# N4 }#ifndef QTCONCURRENT_RUNBASE_H' \& ]8 [8 }- K& l+ {& r3 a0 T4 e
#define QTCONCURRENT_RUNBASE_H
# e$ y9 G9 O. f) M7 d w$ T
@/ O9 u' B5 X0 Z#include <QtCore/qglobal.h>
, T0 g# ]3 H7 e+ M+ E2 \9 a( x: Z
, J+ h- g! x4 i4 v. L$ ?#ifndef QT_NO_CONCURRENT# X$ H; j8 D6 |- S: c- K
. h( J" j$ i8 F3 z Q8 B d#include <QtCore/qfuture.h>
* h+ S3 C5 \4 b" @" W#include <QtCore/qrunnable.h>- l& ]3 x, T3 W# c4 `
#include <QtCore/qthreadpool.h>; S7 r) d& m) v2 M7 |/ p" f* J
C }/ _& a9 T2 {1 b, z' Y) f# P
QT_BEGIN_HEADER, ^9 l2 F. |3 t" o2 d8 l
QT_BEGIN_NAMESPACE5 @& W! m' l, t3 ~% J
B7 B/ m. l+ Z" E, {( \
QT_MODULE(Core)8 Z) f7 K" V) W- z/ _ h6 }
* p( x1 U$ p/ t/ R
#ifndef qdoc. y5 h& X+ @- W3 c K2 H. Z
5 c, ]& w4 \ ]2 g0 i+ ~2 F( snamespace QtConcurrent {
( Q: W& X! n0 n( C
, P% Z: `: G4 l- e# P6 k# etemplate <typename T>& Q! U i( P8 b. G ]" m; P
struct SelectSpecialization" D; p2 b- a, w- U2 E, D
{
0 ^$ V$ R& ^# t; @ template <class Normal, class Void>
' J8 [" I6 y7 R struct Type { typedef Normal type; };
$ `0 `: I5 k/ e. I) j& Q5 n};
9 o) x9 p$ z1 }/ l7 m: U) P1 h6 o. O# I: Q2 Q9 ?
template <>
2 y( T+ o7 B; f- p6 tstruct SelectSpecialization<void>
, H6 Z; Y$ n' s{/ J* ]6 A5 e8 \" C8 m6 M- q
template <class Normal, class Void>1 N1 w* K2 N$ m. X+ u
struct Type { typedef Void type; };
m" r" p" Z& Z% F/ g, P};5 B1 ^9 ]1 ]0 @
& h+ o u* J5 ztemplate <typename T>
8 p$ l, d O9 F; Fclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable, v3 ~/ l8 u N- ?1 c; i) p
{
, U5 E4 H9 H9 b+ N0 r1 G4 Hpublic:
% d9 }1 Q3 h2 _ QFuture<T> start()
/ q/ _ ]2 j. P" \ {
" y9 K, {* X. p9 J/ i# r* S7 H this->setRunnable(this);4 \/ y0 P' I7 I, a/ P) {
this->reportStarted();
7 n, a! r; I+ J5 h QFuture<T> future = this->future();" l6 P. l5 ?. w6 ]
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);8 m8 X! x! i5 d _( L6 ^7 h, `- U0 |
return future;
, F- \2 l/ u) k$ f+ j5 H% o" r }2 e' R9 C1 D9 \3 p) A$ Z9 j' ~; W
' V5 W: K- h( r% _
void run() {}( \# e2 l( h( l
virtual void runFunctor() = 0;2 {" z) G6 Q3 X* A+ Q: ~7 C
};
2 y w. h; f2 V, n/ ~; ?/ i% [8 H, P) U4 R* ?% Z! |+ \
template <typename T>
* i2 Z6 T0 ~2 j) x# S4 `class RunFunctionTask : public RunFunctionTaskBase<T>
; g+ s& T5 ?- L( y5 v- g{, R8 l, j. C; G6 K
public:. q) P' Z/ u5 n; b& y! s
void run(); Q- R/ h% P2 U
{
6 Z8 V' G- X! l4 p if (this->isCanceled()) {. `, |& f, d4 t
this->reportFinished();. Z( z# p5 ?) Y: }
return;! T% s7 ~$ f) w3 S& Q
}
4 n) \" P B/ E+ H, `/ I# _+ h this->runFunctor();
9 E; Z1 q6 I/ ]4 r this->reportResult(result);
V7 G E' e5 U. e' z this->reportFinished();
0 ~3 P- s1 K6 R }
3 a: g, P; D) H( V+ O) k T result;
4 U/ S! ~! K' b( w" i$ m( S};' u9 s5 ]& |, E* G8 W
/ R* F% S* b$ @, a$ j3 O9 z1 m
template <>
+ @7 f/ ]2 u% k" b B/ [class RunFunctionTask<void> : public RunFunctionTaskBase<void>
: [) X& k! H" F& ~( k{
! }8 [) ~1 ]+ [' p- Opublic:
( r2 v1 X/ {) ~$ A9 v z# m+ L void run()
; A: e- R8 K+ c% u+ c {
5 i* {# h2 I* `* S% ^/ Z$ u if (this->isCanceled()) {
( s' S- G8 \2 a- A3 U4 r this->reportFinished();
( A$ u* i1 J9 t4 o" \ return;
1 |2 L: P; p+ m: ^4 S+ f% e }
' ]% ~! y' f# S, s this->runFunctor();9 {7 q ?! D/ K" H7 I. I
this->reportFinished(); O) t# r9 x {5 ~8 v( y
}
& _$ R( `0 ~: `};
+ W' R7 ]9 [+ h- Q, y9 O" V/ z) Z4 t/ j3 Q% V3 x, u
} //namespace QtConcurrent
+ n' D. y; n7 o: p% H( V* C
) D0 H+ j0 J5 S' u- P9 W& b- ?#endif //qdoc
# }# j8 P* D5 R' Y& y- h* I0 }
; g: E. {" Q& k! B' c2 a; X+ \QT_END_NAMESPACE
5 A- }% e1 `, b* nQT_END_HEADER
4 d( r- a5 l/ X! H0 M! f" {( U1 I
7 h& }; ~/ R4 B p#endif // QT_NO_CONCURRENT
* L, ^0 b* [& A& m7 n) s8 A3 n; h2 H0 u
#endif
V5 A" m7 a* ?; g2 f3 g7 g
0 y8 `/ h8 c* q7 O |
|