|
我对syslink进行交叉编译到arm,但是出现如下错误:
A/ r. A/ k o/ i. G- |! x+ e! J$ b/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
. r6 t2 _: p& V# M% C" E
& Q5 n3 D; N7 S. z3 o- ?这个头文件内容如下:/ y1 i9 u) z+ S+ i+ U
#ifndef QTCONCURRENT_RUNBASE_H
9 y( Z2 `5 |4 b& S#define QTCONCURRENT_RUNBASE_H
4 e% ~% {; t3 j1 c/ N
0 `+ I' v/ \( a' x7 E. l#include <QtCore/qglobal.h>
5 R# C5 A3 c. G$ L8 x
7 S. |; r8 B( H% R2 y9 a4 f#ifndef QT_NO_CONCURRENT
; |1 N* {4 M# } v
$ n3 n8 @, \ ]! w3 F( }#include <QtCore/qfuture.h>! P- e. D. \3 A
#include <QtCore/qrunnable.h>! I: Y7 z$ N0 p9 k/ H: X% h
#include <QtCore/qthreadpool.h>
" D9 W% Y) t8 ?& u5 m8 [! R( a: ^- {& O9 U
QT_BEGIN_HEADER- T5 _( _: G* C; l
QT_BEGIN_NAMESPACE' r! `$ V- w* f7 U+ x( r# v
2 t. k. h3 ]* e# F0 sQT_MODULE(Core)2 [; K# M6 x! U6 s+ t( z+ D& d
3 m% U% z( l n |
#ifndef qdoc
! C! p1 T5 s8 a" h7 H7 p
9 O- R0 Q/ ~# g$ Z6 n) _) P# M# Knamespace QtConcurrent {, _/ u% x9 C( s+ t7 ~- ~3 B* W4 g
- R1 B$ E* t, b* Utemplate <typename T>
0 v+ j0 i7 c5 Q! |. Mstruct SelectSpecialization
9 z5 O( C* |/ V/ E$ d, @{
" b! m7 y6 @7 z, ~: e template <class Normal, class Void>% z& y& k: m0 d5 y/ ?
struct Type { typedef Normal type; };4 j& A8 U, f) {6 k& L- D* E( n3 u+ M
};0 A: D' T% _7 L9 A2 Y1 H
, A, @# V6 t j" r0 vtemplate <>1 b. ?2 F6 b1 \+ q1 }0 l
struct SelectSpecialization<void>3 h6 S) ^5 }8 h2 S$ Y
{
6 h4 e! r6 h: S t template <class Normal, class Void>( x" a7 T: t8 H: |3 Z6 U2 g
struct Type { typedef Void type; };
9 x* r# j: B# g7 G% ~' ]};4 l' ]& d9 a' s5 b
8 M: U9 h) h/ N! }1 G# S$ x# A% Jtemplate <typename T>2 p, d. K+ q0 n, Z# P& d4 u+ ~
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
, K0 S3 H4 Z( X& x3 V. i{
- r' s/ ? r1 ]8 Q6 m6 E" bpublic:- @; [+ N1 ]2 C# p
QFuture<T> start()
& L) q& A% y4 c3 E {6 e6 k! i+ C; V4 \9 o# O( m
this->setRunnable(this);
# s6 d h% P, Q9 s; T+ S# V this->reportStarted();, {8 B* @1 g; {
QFuture<T> future = this->future();" q( k3 O$ h" T3 f" C9 M; K( `
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
0 Y1 L t# v+ B! r& j/ ]" ~ return future;1 o; i( `8 @ V
}- k9 F# P% F f6 X5 Y2 q+ Q
: }1 Z' X7 A( o& W- c! Y
void run() {}
' L+ s( I, x. E& f# b$ N virtual void runFunctor() = 0;3 k6 u/ M/ c) i
};4 W4 k: b9 F2 P( S h! e8 {# g
" T% [, D) i/ _6 I- @template <typename T>
, f6 w4 U' @0 v+ i3 A. kclass RunFunctionTask : public RunFunctionTaskBase<T>) b2 O8 B2 o2 Z0 x2 r& {9 U) D
{) Q% [- h7 U' o5 J, M
public:
7 s1 s' M% e& `0 j' f v) b: `2 \1 C% [ void run()
?" l, ^2 E0 z# v+ [ {$ k2 L9 X4 w3 ?9 L
if (this->isCanceled()) {
7 `. [9 p5 _7 y8 u, T' c this->reportFinished();. s: e4 k o2 y; t% `/ E* m2 g
return;
" D+ f$ p: ~& }: q: G9 b }7 j6 v5 u3 W( v# i/ X
this->runFunctor();
/ n, M O$ H+ x$ t& q this->reportResult(result);
3 H9 |7 t: P7 y# J9 w B- \- ~ this->reportFinished();/ }2 }( i9 s6 Q4 A3 S6 i6 S0 y, g
}
V. `2 ?: \8 M4 j7 X T result;
7 B c/ l+ x2 @ _ W, T6 [7 L};
1 X2 d$ z1 L# ?! h8 _( t
* f# n6 P! F7 K! {- l9 V+ Qtemplate <>) P$ i) E0 j }# F+ K/ I
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
: r* q! x- l. R j0 j/ G" P{
' _, P, M+ n5 O* {9 Kpublic:9 N0 {# D5 U+ _/ @6 J/ q! w! N
void run(). g' C, `2 r- a/ ~2 n! b
{
; Z; i% Z7 N' i6 J5 i) l4 L if (this->isCanceled()) {5 ?5 W* D& A# c* Z& k
this->reportFinished();
& S' p2 B/ R$ q. E return;/ R: I9 U7 b3 e) {
}
& o% R" M" a. v, @ this->runFunctor();5 A0 c9 ^; t: _: [4 ^6 @
this->reportFinished();
5 Q6 Z. V/ h8 h* F. \ }$ ^; ?# [7 b& p# c' O. p
};
+ b; Z% k Q0 p9 Z/ v x6 J# \ q9 }9 H0 e- \' C2 F
} //namespace QtConcurrent; j1 _2 I, f% X' U! b# g% S/ _+ G
. U' K7 ~# W" @7 b% F
#endif //qdoc( l; C' u& p; M) |" f
! {5 T! J9 k3 E* D1 ]2 N: D
QT_END_NAMESPACE! X5 t9 U. k$ P" B/ Y! `
QT_END_HEADER$ l5 ?$ I5 l/ E, L3 A, k- } }- i
4 T" x. _. f! q# }* a#endif // QT_NO_CONCURRENT
2 I5 k) o% @2 E* n
/ C7 Y) k3 B) L& Q#endif
/ h3 V( T) ?3 ]
. N9 W5 I0 C. g) s9 |0 N" f5 _ |
|