|
我对syslink进行交叉编译到arm,但是出现如下错误:: x y0 c) s; h. W! p
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter', l/ ^; u" s; H2 B- I* F; y5 w3 ]
+ o: b5 ]' G; `
这个头文件内容如下:
( H) }, p; k0 F4 e. T: i1 s* j' G#ifndef QTCONCURRENT_RUNBASE_H
5 @1 y: @' u2 c4 `2 N4 J7 ` f, [#define QTCONCURRENT_RUNBASE_H- ~3 V8 m x: V( v6 F8 c- |* e
5 A( E, u# m$ E- y# z
#include <QtCore/qglobal.h>) o4 y( g9 ^. y I [0 s
5 n ]6 k1 Z9 t8 n. ^/ d% t! `#ifndef QT_NO_CONCURRENT& e, n9 W9 x# x1 r/ } D
: [4 e; d! D. O8 x7 q
#include <QtCore/qfuture.h>
5 h H' C& Y( L2 w/ m( J& k( Y3 z#include <QtCore/qrunnable.h>; h; X: u8 p3 |& \
#include <QtCore/qthreadpool.h>
1 D3 A( w+ o. ~+ G
; V9 N. S" V& C( Z% J2 s5 DQT_BEGIN_HEADER# {- a2 R4 ~% B) V( P1 @7 N
QT_BEGIN_NAMESPACE0 p! {3 U/ R8 Q7 P0 Z
* @5 ^# `. Z9 a: {7 `
QT_MODULE(Core)% a' _: m9 x) D
0 J* A+ b) ^) L
#ifndef qdoc7 m* U: |6 m* ?* Z% I7 c# t
0 @- l( h2 b: N9 m
namespace QtConcurrent {" e ]7 B! N7 Z/ l q
1 U4 Q0 K( D' z9 s' E0 ytemplate <typename T>
6 u. |& Z- `, X( }6 ^3 m* @/ P# Estruct SelectSpecialization6 n, ]% B9 t$ m) D8 R8 V! {
{
- C8 M% J% p' i2 z! i0 _ template <class Normal, class Void>
5 V% g; O$ k1 p+ V9 D! Z struct Type { typedef Normal type; };) @5 t' D: @* {& Y
};# x {2 n* P; S
& o+ i9 n9 @! a R( l& K8 _' ltemplate <>3 j9 A/ p6 [5 m# E7 o n B' B
struct SelectSpecialization<void>
2 t6 g% |6 r- |{
7 l$ e' k; v. S0 ^$ v8 X' I/ @ template <class Normal, class Void>
; m' t5 i' K& F' H struct Type { typedef Void type; };$ Q4 d- P6 D8 e! z0 y
};
. Q4 U% p, z" v
! E8 E+ W b3 n2 e4 h6 y2 B. itemplate <typename T>4 g( Z1 _1 D L4 r) a
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
+ U& M6 d9 u0 ~2 Z$ P( O" N{/ D) w# B& B% ~$ {7 S
public:
0 \7 r! Z' a. Z* f, Q8 Z: c QFuture<T> start()
) T9 D* r; e( ^8 k# a" ^9 i {
6 ?! y. Q! O; l2 W- s$ \2 U this->setRunnable(this);) a3 o! A' D7 n. C! Z
this->reportStarted();
- U# [' _" i/ Q" C QFuture<T> future = this->future();# i4 F. y3 E! a5 W t
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);8 C( y' W* Z& ^6 A) j5 D
return future;
, D# k8 B& G! X& _ }
. b% U' Y* u/ _
' T) r) x+ e4 i# t5 J% n6 g5 f void run() {}
0 N, i: V. b& e, u/ k5 | virtual void runFunctor() = 0;
# k% ~+ O9 g0 `};& k; n6 k) c5 d0 m
! J6 j, P% N" l8 }1 w
template <typename T>
M" N" M0 l2 |) @5 Uclass RunFunctionTask : public RunFunctionTaskBase<T>; ?6 v& f7 o6 q( j& V# x* x
{& O4 W3 O" |& q" u9 Y
public:
# j- G( M5 c9 S+ ]. N, ] void run()' Z7 C* ]! j& h) }2 e
{
2 e! d" W5 t, j6 [2 h if (this->isCanceled()) {+ @* C/ a# \' | ]
this->reportFinished();
. P: C r% Z, X- [6 f \ return;
: o, Q& B: [" A( {( I5 [* k }1 e+ ?' R' M" C/ f, T' q* s9 c
this->runFunctor();
( x# @0 |" H& I this->reportResult(result);' @) L; G& Y8 d) V: Y$ l
this->reportFinished();
5 S6 ^# `* U F4 i* Y( b }' M4 b. Y- D0 q w; M7 g m) F
T result;& I6 Y: L+ T$ h. ?9 t% i1 M p
};; h' g2 w m6 q1 K! Y4 T' c
8 p, C& l c; W6 {2 K3 i6 L9 R
template <>
u3 {3 @: F3 ~+ I7 i* x/ ]' H- Eclass RunFunctionTask<void> : public RunFunctionTaskBase<void>( M& @9 \$ W) F ?5 u& W
{1 O2 v/ g2 k; A$ I. E5 m( W
public:7 u$ G2 ^: g; X( b) t
void run()9 C6 z! u. q- V# [2 L
{
3 m& w! W6 }$ a5 x4 ^: u: I+ T/ [* t if (this->isCanceled()) {
* g4 Z4 {- e7 K) K1 x3 ? this->reportFinished();2 d. k# ^, N( Y1 t
return;# z- C8 ~3 p8 D! G. z0 C/ M
}
3 G7 ^' q `$ {, O this->runFunctor();) i) u& Q+ P: T+ ?( C; v
this->reportFinished();) e* a5 m4 _5 x9 T( T
}
* x/ p2 f# C; @/ W, ?};4 z0 g3 U/ c+ V5 M; F3 P
( i; a0 y1 {! A0 b; X} //namespace QtConcurrent5 a" k6 A: e/ V9 f% n$ Z
" U0 V& K W9 |( s7 D) S3 e4 E
#endif //qdoc) `" a" F7 O. {( f
. W9 j5 c8 q9 X1 @) V
QT_END_NAMESPACE
- v" e$ d) }& vQT_END_HEADER: D6 m% b: \: R+ ]" X
. e8 e1 L. ?) Z8 j& e5 [) V9 _#endif // QT_NO_CONCURRENT( G2 h3 `; S6 ^5 b
# q% h% U! f5 D) O) A3 ]#endif$ |4 a: A) n7 q* K: L
2 K5 `% ~& I2 g1 ]1 N) e3 E |
|