|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
. J- Q5 |( v9 @& |' t$ `+ M. b f( {/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter': q3 n6 w6 o* G$ B. O. G5 ?
0 T$ p K$ F% P. P
这个头文件内容如下:; b+ ~5 r4 L- B. Y% P" V l
#ifndef QTCONCURRENT_RUNBASE_H& N9 w8 \7 V7 V; [4 L- k
#define QTCONCURRENT_RUNBASE_H
4 Y" u% X4 V1 t: x( ]) X* L( u1 D7 A% ^1 x3 @6 b* G4 V, b- L* t
#include <QtCore/qglobal.h>
5 ^0 a+ K& g4 B& R( C( X; o* Q
3 x! z! C9 ~' |9 l9 W, G) @#ifndef QT_NO_CONCURRENT
% y* {! T$ x4 N% Q8 u5 L! X% P8 Q
#include <QtCore/qfuture.h>9 } A( b1 p+ w; O; R
#include <QtCore/qrunnable.h>
- ?) S0 F3 Z2 y" E- K" S#include <QtCore/qthreadpool.h>
. b1 l) J( U! Q6 w2 X- j
" V, B$ V* a7 N" GQT_BEGIN_HEADER
?7 X6 s7 h* r }QT_BEGIN_NAMESPACE- r! Y- J8 ]2 ^$ i9 G
6 T* G9 P1 M' q8 eQT_MODULE(Core)
; g, L; e' U* A2 @- X9 S. S1 Q/ Q" j* Y% r
#ifndef qdoc
7 L3 }. r. ]. q7 n/ b3 L! c' x
% l/ A! T+ O- ^/ inamespace QtConcurrent {7 @4 \3 _) V1 C% |8 r9 Q4 n
, E* x0 n2 E* n7 j0 i5 jtemplate <typename T>
/ g* p( B9 s9 H. o% Ostruct SelectSpecialization
( I$ q$ j" g0 ]" g{8 P( k0 V7 A' h
template <class Normal, class Void>8 R4 q z3 z# J* h& v: h! M8 J
struct Type { typedef Normal type; };
6 A Y& k+ [5 N; ]0 s0 @9 p};
; e- f. s% W0 ?
: H" w; N g4 N# g; X. k. Htemplate <>
! A4 A# b+ j astruct SelectSpecialization<void>
3 k/ H0 D+ i J{
: t! X- z( q% T$ k' i1 c template <class Normal, class Void>
+ D; w6 `/ [) o# t4 b struct Type { typedef Void type; };& ~* O$ m: H/ y. ~/ Y
};, H: Y* ^+ S7 x, D3 A5 f" ~
7 @" u' a. T# S7 q5 ~2 Q. D
template <typename T>
9 C$ C; L+ X- Q. _- w. W8 vclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable' b: o e( y2 B9 M3 `& G% T
{ E/ \1 {/ {+ \. B! }2 J
public:6 {) [& C4 f# s
QFuture<T> start()' L. m. k/ \( O1 U
{4 {% H: {: C( [$ g) F
this->setRunnable(this);
+ J1 z* j( u6 \0 J this->reportStarted();- a. M. f7 `) w; x" h% c8 [
QFuture<T> future = this->future();
. X8 e8 {1 L% h, g5 @: Y" S! x QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
8 O# l: }- m& T* R' [7 x) ` return future;+ m9 H7 C$ N! ]+ ^
}
; u( L3 [5 u. O* d, B. h
% P+ B3 M% C- ?, j1 |/ W7 V void run() {}0 G3 I; x. I0 c3 U& E
virtual void runFunctor() = 0;
4 c' s; s& b2 S: @! ^6 t};5 T) h+ d2 V3 d" |* M* c, z
2 p$ G) q P9 E
template <typename T>
* W" E9 D- O4 i5 W- jclass RunFunctionTask : public RunFunctionTaskBase<T>
6 A6 E7 k* ? a5 b0 o' I{
7 i9 w& u3 V- ?public:
e% P" G2 C! r+ R F void run()6 M! x. [: R# ]9 [* F6 T
{
9 g7 d+ S1 v& @7 a8 v2 r if (this->isCanceled()) {1 x O/ b( Q O$ @- ^
this->reportFinished();1 K$ Z2 Z; S0 ~$ S
return;
: E3 q" L. h1 I }
6 f6 f9 E7 J& r5 ~( i2 ?3 A& A this->runFunctor();
+ W( `, ]8 ~; h this->reportResult(result);
5 U9 b6 b- j/ O) S/ { this->reportFinished();5 d h/ f0 _( a, f1 K
}
; ] }+ D% D2 |. m2 b T result;
# y2 Q! t: K p1 E7 Z8 m% B};
4 X: Y6 F9 h9 h4 A+ r9 F* ?. o4 a' n; ~, |9 @2 v, w% O
template <>
t; V7 ]1 ?1 O) eclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
; P( e# D& v; ~: f' h I{+ H/ z6 O! i0 _
public:( m; `3 O9 R( f
void run()
: Y" \" ?; b! `5 R2 { {: M* N) N/ e" h/ k1 s$ S* r
if (this->isCanceled()) { \ }( S) Z( f. L
this->reportFinished(); L% p) m) h5 o
return;1 W" ], S, v9 F* T
}) _5 \- C1 T s9 _8 O* G
this->runFunctor();$ B, o2 U! E. P% s! c1 P/ d8 K
this->reportFinished();
# q p& }( {, z# A6 P& B }
o$ n. e) p9 P- o* F7 n};' r( V8 k* V2 c1 m, X
2 }% v5 C- V( v- t/ w} //namespace QtConcurrent
3 m, m9 ^' ?8 ~4 A
& _( }$ L, c5 K! C$ z; e#endif //qdoc5 W- o: {, {& Z' w+ F
+ @+ J( N) E8 u5 v9 S" L/ ?( R+ ~
QT_END_NAMESPACE
2 F% d3 ]! S* Q; J" WQT_END_HEADER
0 b4 q: B( M l% p/ S8 M; O0 e5 M) z3 S
#endif // QT_NO_CONCURRENT/ H' ^; L* m5 g+ ^
: i' @" O* d |# h: \- F/ q1 e
#endif
' a* m5 O2 x1 `5 J" l' Z2 j. `; ~% y8 j( X/ ~* v, C
|
|