|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
|8 D/ _; c; n8 G& m, K: Y/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'0 p: ^5 a: t8 p9 U$ Q, n4 q4 E( t
- p6 J& X: f8 ^& x0 ]这个头文件内容如下:2 z9 Y: W! J4 Y, F& A& u
#ifndef QTCONCURRENT_RUNBASE_H
7 N* L. y1 O" `$ j#define QTCONCURRENT_RUNBASE_H0 t& o& U e' J5 I8 H
7 p2 ]- l2 G4 \7 u
#include <QtCore/qglobal.h>& \) `( U3 {5 F2 M" a# H
8 b' { p, L) [7 R
#ifndef QT_NO_CONCURRENT; m- v [. w0 W$ L; V
0 K9 {# ~# ]; X) ^
#include <QtCore/qfuture.h>, P. W# z1 L. E5 [1 D
#include <QtCore/qrunnable.h>2 w/ z' T1 ~" j1 |4 k7 K0 I
#include <QtCore/qthreadpool.h>
6 Z) g \+ l S# u4 r6 C/ g: o0 B4 X$ a. T* L! w) n
QT_BEGIN_HEADER* `% M5 P4 V+ v n. A5 ~5 @% H
QT_BEGIN_NAMESPACE
0 x0 n) F3 ~8 C. r/ ?* Q) J4 a% i4 f* }" `% ?8 c4 g+ P: O
QT_MODULE(Core)
* G9 \/ S1 I- l, b( Q, W1 g% f) @
8 }6 ^$ ~ v5 B#ifndef qdoc
# M* r6 t2 f* f: g* @8 \: U
& o8 ]" T8 x6 Bnamespace QtConcurrent {
6 J7 B1 x2 Z7 W' h1 @# l; u0 z5 C. g1 B. E5 U; j! C# {7 O5 |2 e
template <typename T>0 Z! d9 `5 e W& ^
struct SelectSpecialization
, l* S3 a3 U" r5 E# ]6 Y{# x; H5 o/ L( l8 U7 T
template <class Normal, class Void>- W6 }! _( H: P5 h( b
struct Type { typedef Normal type; };. D% D( ]" q5 a3 g4 U5 v& d9 o
};
2 u0 F5 E* W% C0 l) Z% N7 `! g. c- R4 x7 b
template <>$ z" C+ V& V/ j6 M
struct SelectSpecialization<void>3 k0 J& }! M3 \' b4 K
{
" P! u' | r4 y3 h template <class Normal, class Void>) T* p6 ?# L2 T5 h
struct Type { typedef Void type; };+ U) q ~4 i: n/ b& y* R5 v
};" }. E) s. a1 `- ?6 _6 `4 w# s
. x. H0 r' \' A1 _6 btemplate <typename T>+ T9 @$ ^3 i% R5 Z
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable/ @- \$ t9 Q0 v5 o z. v5 }+ [
{
: L' t7 A6 C' l* Y6 U, W# Q. npublic:
& E8 V4 [+ P6 u6 V! E$ u QFuture<T> start()
+ B) a6 p2 `- n& P/ | {
+ Z/ |2 V' g: k( a this->setRunnable(this);
4 P8 t! s- p: f% O" u this->reportStarted();! q1 R" g( z7 f$ Q& f* P$ I
QFuture<T> future = this->future();
8 g( @9 w+ p* V5 L9 y QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);3 }7 X2 M% @9 f6 x0 j
return future;0 t3 R5 b5 P, s: x
}5 @0 a0 }! n% y! [# a; r
5 l+ G. |, Y7 k9 s, U7 n9 f void run() {}& B; p% o- m4 K+ Z6 @" ?- e$ i, b
virtual void runFunctor() = 0;
4 p5 d8 u) @! ]6 S* b$ e" g6 T0 @};
: r& X& W: c/ ]8 i8 h E5 d! Z3 h
X, B y8 n! ~* r. u- U, Ptemplate <typename T>5 {, z1 w! H8 `* e0 L" D; R% q
class RunFunctionTask : public RunFunctionTaskBase<T>3 J$ V# ^; p+ Z- V8 Z' x0 R" S) k* S5 ]6 j
{& Q2 k% ]% _6 P# f, t! u& R" a
public:
) D0 v8 i2 J! P% [ void run()
# O! z% Z6 `) f9 x { p3 B9 O' L$ v1 \+ K
if (this->isCanceled()) {
2 d9 {* l/ {) I- O* G. c$ X1 G this->reportFinished();
; k2 M; ?6 @2 O u return;
. P( R% h8 N( q }
2 ^% F, H- P1 J( S this->runFunctor();
3 H3 w% d5 i7 v9 z4 f( J; J this->reportResult(result); ~$ C* Y. Q8 ?$ L# r4 \1 d
this->reportFinished();# e$ j' R1 H0 x' j% h
} `, U" h3 E0 w& s, F! h+ H* I* T, y
T result;0 N" ^- f5 v) R) U5 k
};
6 C2 |1 B( }' O/ y( w1 q" a6 U
( T* e1 h* }' z+ {1 o) otemplate <>
! w% R+ s; ^; `class RunFunctionTask<void> : public RunFunctionTaskBase<void>5 v3 d" Y& Z) j; c: a! {6 b7 ?& B
{- U+ H' t- W Y- a4 L
public:4 ^, c' O% k j
void run()
; ^+ Z, O5 R7 }; H$ r: o& H% s {
! X N/ [- D' e- a if (this->isCanceled()) {
! f" J- W; l, n# u7 [4 Y; F this->reportFinished();
# B0 \$ h* X( j- ?% q5 k" {4 f return;
# S" p& B& k8 E! e+ m, L$ d: B& q" k }; R7 X0 L5 d/ n) h& t. b' V
this->runFunctor();
6 _0 \5 W: V( D5 @, N this->reportFinished();4 ^( u1 d* W5 o6 Z
}* j% D9 Y$ X" i }
};& l* x) ~3 d& H* F4 ?1 Y1 h
7 O6 X. c9 h/ s' x6 U} //namespace QtConcurrent
$ T2 H& Q2 R( s t0 a# U7 x
' U" q; B- y! p! s' V, ^$ h#endif //qdoc
4 |7 Q5 ]' n$ g+ T" Q) N# K
6 n- Q: z/ T5 j; n& Y' W- }QT_END_NAMESPACE6 _) a% R# M0 Z' e0 T
QT_END_HEADER5 E# z: b3 P6 v4 L6 h* z6 S
+ o* H" m7 F) q2 m- g* c; T#endif // QT_NO_CONCURRENT+ ]* q1 J+ o. _$ a
( X& E7 S2 q& B+ r+ e: Z, a) Z* }
#endif
, J) x0 y) b) A1 }* g5 s, C; a) \7 h; a; |" B$ e9 S3 r( m
|
|