|
|
我对syslink进行交叉编译到arm,但是出现如下错误:4 i7 ^6 o: N% 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'
7 ^ Q' Z, W( ?2 j$ k5 i! c# \2 h; Q2 K8 [6 N# p
这个头文件内容如下:
1 d3 |; D0 p1 z; [1 ^1 w4 K#ifndef QTCONCURRENT_RUNBASE_H1 L5 n) A& z0 [+ y. l: P
#define QTCONCURRENT_RUNBASE_H
0 z% n+ g$ A) I4 k" t- @6 s- W3 ]& t. R
#include <QtCore/qglobal.h>/ a8 v, K4 W2 f* z. @! R
1 W/ k7 ]( ~& b- g; O
#ifndef QT_NO_CONCURRENT
" n9 ~! ~& m; M
0 O! H: [' O1 {$ V0 U#include <QtCore/qfuture.h>1 V* {, U6 i5 _7 T4 q
#include <QtCore/qrunnable.h>
! `$ p( N" g& y) X: P#include <QtCore/qthreadpool.h>
7 x# c* }3 F9 x! r7 ~: p
7 u2 b) d' c9 xQT_BEGIN_HEADER+ D8 F' a2 _( Q0 v) X
QT_BEGIN_NAMESPACE
8 |! M2 L5 |' `6 d" F5 {3 g4 i/ T( _0 s& g
QT_MODULE(Core): d b. _" N2 o, i K w; e. t6 K
' M% w7 `, _5 _$ a& o3 e/ C6 E" C
#ifndef qdoc
! W, g1 v0 l6 {' ?: b6 F3 H/ s) H: l5 B6 i' B
namespace QtConcurrent {
" Q ?; S% }+ e) D; F& Y/ U! V( z% |6 u6 ?7 x6 j/ g3 v
template <typename T>3 `6 M9 V# |. j E$ u
struct SelectSpecialization
z N. K" K+ N* r% ?{" }1 e& Q- b6 r% F
template <class Normal, class Void>
! ]) _1 z( \& Q/ c. | i struct Type { typedef Normal type; };- }& f: p6 e, ~: H* L
};
, J3 g4 U- r4 s, T
" O5 g! J0 x) \- T- otemplate <>
7 C$ L: U7 ^* Z$ {/ u- tstruct SelectSpecialization<void>7 O3 z* Y) X3 T t
{/ g1 H! V: z; f: l5 Q
template <class Normal, class Void>
( l# [; I2 J* T4 p8 R6 A( b4 D struct Type { typedef Void type; };
4 ]4 A0 A$ R- S3 P0 [0 h};
; W. L r) j; L/ I4 i4 l+ v" _, Z3 c) Z# X! Z
template <typename T>
2 G2 U t& z. c0 x2 A0 Lclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable/ ~+ i8 Z* P# E. _& r2 c' N4 P
{) ~3 D! D2 X7 @7 Y8 k. L7 h' T, v
public:- H! _1 B( Q L+ @
QFuture<T> start()
5 o+ B) m `4 c2 b) ] {
/ [* }4 x& K$ N( H this->setRunnable(this);- r8 O, S2 T6 T% T2 U7 _1 g
this->reportStarted();. R& ?1 J" ?4 ^* E0 |% @
QFuture<T> future = this->future();( b$ F% \5 ?' ~" x
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);" B1 A( q8 H/ C/ h1 [( }
return future;+ n. F+ r, v+ [+ o* u4 x( N& F- J
}
2 R% P9 u2 { v- j$ k; N+ u- k7 R
void run() {}2 w- {) L9 G( C* X' I
virtual void runFunctor() = 0;
) A3 V: m- r- T};! ?/ u2 ]2 P& t4 O, H, P) o
# \7 M" G' q; Z' Btemplate <typename T>6 N8 `* |. \* e) s
class RunFunctionTask : public RunFunctionTaskBase<T>
2 K8 V! M2 U* \{5 z% ?: `# l6 T2 ~
public:
# E) |. b* A0 ^5 Z5 h void run()- I: J0 @9 ?0 ^' p
{
. v+ {5 f9 P8 ]. ~# ?7 j if (this->isCanceled()) {
# q: s" n3 V6 v; ?2 t this->reportFinished();+ G9 K$ h* f' N" T e$ W. h, l
return;. ^7 B+ @; u2 e
}) ~$ @ M# f8 h( j+ R
this->runFunctor();+ `" ]2 ?6 w8 ?: B
this->reportResult(result);
! |* {; c+ B0 Q8 C1 c this->reportFinished();
' r6 _- X7 S4 ?) ^ }! T9 N4 m4 \# v6 ]
T result;7 I" p% x# c s) _
};
) K9 R$ ] L; D; B: c4 I9 {; b. f& S: \1 r, y% G
template <>& B$ ?4 E$ ~" T. [7 s t8 b
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
& i9 Y, D: m& K) \. D4 y2 c' O{
0 }6 U. L2 N: Y) \; ]/ Q6 Ypublic:% R* @, F0 C9 ^. l' w
void run() I0 k! Q9 O' B& Y q \+ J* ^
{
! k/ f# U& a) z3 B8 M- a( a1 I, t if (this->isCanceled()) {" z0 |/ w- l6 T7 q6 C
this->reportFinished();0 @' \& A1 w* l) w) y
return;& S* T2 T# `# |& m# U Q" p! u8 T
}$ X- I* e$ k2 N
this->runFunctor();
$ @" @8 e% P4 C& X! n# x0 J this->reportFinished();
' A, G! ^. V/ N& O! V1 K& o }
$ a0 |) J" u. I5 u" L; j};
3 L# [& Q5 y- a9 O, S' p" {
' a+ x: ]) ?( q- p5 x7 W} //namespace QtConcurrent
4 M+ w2 g. N: d6 }! I9 L. K' e6 ^7 J6 o
#endif //qdoc0 }" T" o( `: g+ x" R/ O
' j, P1 A, x W( X( P8 a/ a0 b. V
QT_END_NAMESPACE# U5 [: A t4 ^7 x5 P2 p
QT_END_HEADER
, h Z& {/ w# c, ?' y) u4 N6 v9 w, R) i4 g6 a8 }
#endif // QT_NO_CONCURRENT
3 r0 w3 I) G& ^8 c0 G: O3 u. p6 n: p# S, H+ X
#endif
w. z6 `! J/ F5 ]3 ^
# |8 I: Y9 Y4 Y |
|