|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* ]2 ^7 |; y; w# [' ~/ b! o/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'# }1 A# ], ^1 c4 N; W
9 \# _) L$ e6 f6 Z* n/ P
这个头文件内容如下:/ r$ v( I1 R1 d" @% b
#ifndef QTCONCURRENT_RUNBASE_H& W! d3 m; g2 P4 Y( n( g" N. H% M
#define QTCONCURRENT_RUNBASE_H/ k0 _5 v7 N; Z, e
$ \, O5 @. L: ~: G% B#include <QtCore/qglobal.h>
* o) Y3 ]: Z S( D; ?- z+ I
# B7 M! T2 y4 A#ifndef QT_NO_CONCURRENT! A; v' p# X! a' ~8 q% \- C* r
( h8 d" v# F. x, l#include <QtCore/qfuture.h>
9 U3 q0 O v3 R( \#include <QtCore/qrunnable.h>
( I1 W4 {, v, Z) q#include <QtCore/qthreadpool.h>8 R% D W+ ]; n# {
4 M. a% T4 F1 @& r& k
QT_BEGIN_HEADER0 ?. f, ~! o4 q6 P% n7 T
QT_BEGIN_NAMESPACE
" S4 d, y. O9 H/ ?9 B" G% M& z: D% ~2 M
QT_MODULE(Core)3 U a5 v$ Z# i" F& ^; T
7 k+ H/ y+ @$ D#ifndef qdoc9 ?2 @( N g4 T) K
1 y9 s; I. B: o7 i) c% Xnamespace QtConcurrent {9 w& J$ l2 p- G+ |, u0 M
" C6 {/ Z$ D. |' u2 Z: s! {* v. qtemplate <typename T>
0 U1 l5 U, Z( e6 fstruct SelectSpecialization
' j, K2 T* L2 Y( M0 V# n/ ^{- p4 b0 h4 O8 l6 g
template <class Normal, class Void>
! C7 c+ x" m8 b0 N' y4 f struct Type { typedef Normal type; };
5 e: p/ ` z4 T3 v% `( _% k8 k};( u( u- e* V) e/ N: e
l8 R: ?* ]% o& H" T* E- q5 H+ A2 e
template <>% O. L: ~$ P/ ~& h1 G; q) L; a
struct SelectSpecialization<void>3 f" g1 N2 @0 J0 P' q
{
2 f8 O4 J, ~! j5 I' U2 B) Q template <class Normal, class Void>
% z4 i4 e" ~$ J/ ]2 ?0 u struct Type { typedef Void type; };
4 }0 b" j' v) J( s5 E};
\0 c5 R' z* G c5 ]
V( t1 L% x/ etemplate <typename T>
3 O V+ P2 |2 {+ |% `- u5 eclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
3 s2 Y0 [, V. K, z( c5 s{
- o* _8 D# |: p) Wpublic:( {* r6 m. b4 k, H' Z9 H4 |+ ?. D+ t
QFuture<T> start()
4 M, I( F$ Y( h' Y+ O x9 [ {
! {8 u6 P0 z% p# e/ U& h this->setRunnable(this);" C- G! u+ C" }- x
this->reportStarted();- f' l& Q1 C) W8 p: E' A
QFuture<T> future = this->future();
L% ^6 A0 t* @0 G5 ^3 O$ c QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);+ o6 E8 ^, c, \- E
return future;/ W% T7 N& W$ Z# _1 S7 x" i, R
} e4 {+ N2 ]% E- L; V
, F \2 ~2 r2 d$ H: V( F
void run() {}
- ^$ h6 h: {9 V4 |, h+ g8 m- x virtual void runFunctor() = 0;- ]% F- e% V d3 j! n
};
0 B) t5 {( s! [' J0 V8 z5 m0 f) H2 U" X) i2 f. z, B3 p
template <typename T>2 `( F, c# V. D9 Z* l* d
class RunFunctionTask : public RunFunctionTaskBase<T>2 P# v+ v" H- w# P. \
{
. n6 U! M# v, w" _public:
& K& D; K) Y! F) O$ W. e void run() O: i. \4 v8 S% _
{
' i( X# i0 Z) Z3 q+ k3 g if (this->isCanceled()) {: v$ i& c4 u$ V9 ~% T, S2 M
this->reportFinished();
0 _, v: F3 G/ j# U return;
5 z( j, c4 b8 G5 e. h+ } }7 Z' f/ L3 o6 g i8 b: q
this->runFunctor();! a* ], F3 e( x. s* O
this->reportResult(result);
9 [* ^, Q) @3 P' u# y this->reportFinished();# z7 o7 o. p1 D5 ] J
}
/ W1 m0 {, t5 u/ |: W T result;
' ?: `7 o |" A, Z4 [ Y; T};
4 l" C* T6 [; g4 c ]2 h! q; W- A9 ^' B
template <>2 E; n! t* s. W' x( i) J5 ^, l
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
" x# Z9 A' m* y. q# [{# |# f$ g% m+ N7 n( d2 m- y
public:$ h! N2 \. [" |0 ~4 N9 b8 b- e
void run()
3 q3 ^2 g0 x: ?4 v7 E1 i0 J; _ {' c* k+ o6 ^( B
if (this->isCanceled()) {) N( a& D0 E1 F3 V+ z
this->reportFinished();
. N, ~4 I: q9 c Y- K/ ^ return;
& I5 f* T5 h. E" @* [ }! Z; l6 ]& I9 C1 i) [* q+ u- v
this->runFunctor();
' U; q p' N' W) X/ I5 G this->reportFinished();& N( n- j+ `6 P# a. M( ?
}4 ]" y& V; N1 D
};6 @5 X+ ^2 p9 n6 T
1 Y+ @ \2 _5 ~
} //namespace QtConcurrent
3 n1 c) ~: ]9 `. w9 h
( P9 V5 C- v+ t9 D# v; d0 m#endif //qdoc
8 M% C1 v1 h& [6 F
" [0 E' R, V8 Z7 A7 u4 }$ uQT_END_NAMESPACE
4 o8 j6 y" T: g) hQT_END_HEADER, _+ |- ]8 i0 T7 Z+ N# c, P
/ t2 [! s4 h6 N$ T3 I7 g3 P1 R% v6 B
#endif // QT_NO_CONCURRENT
$ y9 @" p4 v+ a: _" j! ~9 w/ p. D9 A
#endif
, r8 q6 P( r- r& \; r8 m3 z0 q: O/ C F9 Q% y
|
|