|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* O. b$ F6 T8 N/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
* E9 @6 D) g. U) u- r8 ]9 {
* D, T. F# \2 d h/ e+ z% [这个头文件内容如下:
2 y6 Q1 o& t' G# U$ U4 s#ifndef QTCONCURRENT_RUNBASE_H
6 F! S9 A ^* X) P) j+ F#define QTCONCURRENT_RUNBASE_H
# ^$ |8 i) [" J; R( l& p2 Q( X0 o1 Z! Z
#include <QtCore/qglobal.h>
8 O9 f+ J) F% ^6 C+ [
6 T' a7 O, L# Q/ N4 J#ifndef QT_NO_CONCURRENT# S) T" W8 _# T
/ ~" a$ j' A1 v#include <QtCore/qfuture.h>
, }$ o' B3 S" l4 h#include <QtCore/qrunnable.h>0 q) _# `- r% X
#include <QtCore/qthreadpool.h>
* w. o7 K/ j- ^; O1 }
# K% ? z9 h; c9 h3 G+ |- GQT_BEGIN_HEADER
" Y# B: ~9 ~0 ?5 G" IQT_BEGIN_NAMESPACE
/ I- B3 s7 c' l! k% |9 n6 D+ t" ?+ |1 V% K! T
QT_MODULE(Core)6 R# d. S# m( G
7 \. J) \! X9 c) Q+ e#ifndef qdoc7 t+ p5 M# M5 Z4 D3 S* w
* t4 S: u+ ~* H# `7 ^+ \2 n% Fnamespace QtConcurrent {8 D2 ]4 L9 w7 C9 t( V0 _
+ J: }/ d, v! {7 g, I# [" R
template <typename T>3 Q; S. K1 j/ H
struct SelectSpecialization4 A7 W" f/ c7 X5 i8 G
{
( T: G0 {9 Y/ o template <class Normal, class Void>5 ?7 c! A2 P4 F# E! M1 a# o6 E& r
struct Type { typedef Normal type; };
0 q. V8 S9 Z' \* P* i: O& s7 T0 y6 Y};
, X5 @- |" d, ?% `6 q9 ~
! ~4 f' \5 f6 xtemplate <>
; M# L1 d( J$ N8 T+ {struct SelectSpecialization<void>
) `% i* U: v, e4 W& ~* j3 V{
1 v% N& Q5 l3 a1 g6 y. |) c template <class Normal, class Void>8 W2 @& Q8 N A
struct Type { typedef Void type; };; w( H6 ]* A- q" I
};5 h! ?& ~0 U8 r6 s! h
! z2 L. @" v. [! ~2 T
template <typename T> c: q8 R2 Y3 P
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable7 ^$ g/ E7 a z/ V) K$ p* [' q
{( M( H k2 X2 P5 L4 Y2 ]! \- l: F' I
public:
2 \- e u5 K2 J' J% u( f7 c QFuture<T> start()
& I$ m& v% L: k {
4 C! b* [% B( X" e$ q p this->setRunnable(this);
; _9 N" R4 F4 o( T6 @! a this->reportStarted();
9 t! Q' h. w! T! M+ n QFuture<T> future = this->future();6 i5 W3 o( O0 a( A( U& n8 ?
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
. U+ K1 k4 B% N* F h; g! u return future;- _; ~& B8 I. j
}, U* h% d9 T9 h
+ u4 K( `( v7 x; H9 g" K5 e void run() {}/ s+ D( |- g5 O- Y3 z; {6 `3 `9 U- B
virtual void runFunctor() = 0;/ A. ?/ N. E2 W+ i7 w" T
};# a5 L( ^/ P. M3 y
, a/ D7 w* {, x4 B- f. Ltemplate <typename T>
6 R5 N5 W/ ^, Tclass RunFunctionTask : public RunFunctionTaskBase<T>1 L3 f% B; t& n# m5 h% F
{
# y2 o! } u; h9 Mpublic:" |- }0 a! z& n# s9 ?5 _
void run()
/ Z! k }& r( r {# _$ C# `4 I8 B' \+ w R9 U
if (this->isCanceled()) {* I3 z/ Q( z, b5 @# F: d
this->reportFinished();
& p: R* V* q6 R, q' b A* P return;$ y' @. R9 R8 N: P1 f7 U+ ^3 f g
}
+ Z' H { \. |3 x this->runFunctor();
# y& {$ q* k7 V- V1 q; h this->reportResult(result);
6 q+ m0 X1 {& ~/ D8 `* d' V this->reportFinished();4 N4 Z; i4 F& {2 `6 l4 e
}
' V' V4 p* M6 u3 R: \0 `- S9 p T result;1 @' L* L8 F/ v0 j9 ?- p
};
4 ?& q8 R h5 ?8 h1 r; U: p/ Y
3 e8 d: M2 m4 P, |; @template <>. v% j7 D& R- k) [- r
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
' n2 T" i7 f6 |6 ~{9 U( n/ q8 e+ Z" m
public:
7 W" Q4 T* w+ F void run()
) [$ D( j" h/ H% d {& J. N# l8 S2 R; A8 M' h1 H
if (this->isCanceled()) { X7 [ C3 F. Z" d
this->reportFinished(); `7 p( y3 Y, Q. L
return;
% w9 R6 j5 y0 [$ [+ w/ T' [% P }
( v- D- A8 K6 r0 G! N/ A this->runFunctor();8 E/ h1 s! l- N8 }
this->reportFinished();
& s8 u# F9 R3 X+ P; { }3 m9 x/ j3 E3 N/ c0 m) D0 W4 |* J
};
7 V" x# w5 s- z4 o I6 t# z+ I5 V8 m! d n1 ]! d
} //namespace QtConcurrent
8 _- o* P9 h& |. z! J& I' K8 m3 H' }5 @9 x6 r
#endif //qdoc
0 t% ~% X) T1 i5 z+ \4 d* p* u; X: }, _" b; W# Q) n1 q
QT_END_NAMESPACE* @8 W5 H5 a' O s( Y, r- e- z
QT_END_HEADER
7 F$ ] H) D) v$ A* P% K# B1 ?: L% D3 x
+ Z( E8 q0 {4 ] c9 w#endif // QT_NO_CONCURRENT
, K L$ _% I+ Z$ a3 y6 z
4 w$ K7 |6 x! A; t#endif% K, S) x. o. J+ N
) n% L. @' F( m" g# _' [$ ?0 s
|
|