|
|
我对syslink进行交叉编译到arm,但是出现如下错误:5 B8 y) r! x. e( 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', j5 u3 Z) u o5 L) {
% N m$ w- P7 {+ v3 |% K; O% j这个头文件内容如下:
5 g4 k. }6 I$ W6 Q" y5 q6 A- X5 F#ifndef QTCONCURRENT_RUNBASE_H
% k5 M" Q5 T9 Y2 J- w4 ~' b#define QTCONCURRENT_RUNBASE_H: W8 D' R% h4 n; h9 G! b' }
+ ~, n7 i8 h, _+ [#include <QtCore/qglobal.h>
^: p& J; I- E6 V! n8 K- e6 x; B
* }; O$ D9 [2 y3 \$ B% L#ifndef QT_NO_CONCURRENT
8 M6 |! K6 E& U, a5 t; U% [/ G- { e/ [" V8 f
#include <QtCore/qfuture.h>
' @0 E0 Z" }' A/ j$ M8 R#include <QtCore/qrunnable.h>
/ u h% l4 J2 r' l5 q: m# M; A5 |#include <QtCore/qthreadpool.h>
; v6 @8 [7 j5 p; _4 l3 o* I* X; x' U' `7 m; V" C
QT_BEGIN_HEADER3 G$ _: e% t3 m' v: Y' p
QT_BEGIN_NAMESPACE
- i( G; H! z, @0 L6 Q3 t5 x* |3 d; ?& D! m) R5 A* t7 |- h0 W
QT_MODULE(Core)" M2 k. Y+ E+ u9 m5 J# K) _7 L
1 u4 o, C4 f& ^8 p#ifndef qdoc: C1 N4 m( \% ?( X V; _, U
& |) {5 L9 d/ @namespace QtConcurrent {2 ^) d3 A: x9 x6 [
2 e! |; q. d& s1 Y/ N
template <typename T>
8 [9 E* P7 x* {- @) t, @5 tstruct SelectSpecialization& f8 Q4 U+ D) F' i0 a$ d
{
% \' l0 l' ]# p template <class Normal, class Void>
0 F# q$ K2 r! n* N* ] struct Type { typedef Normal type; };
; o- t+ x8 D7 T' h};
W3 }" V. N, g3 a0 O4 O7 Z y0 x' f$ m4 S ?4 |9 _/ \/ R0 {0 V: J
template <>
" o8 e) @1 B/ q2 m* istruct SelectSpecialization<void>
5 L+ _2 T1 |8 G( S5 B{# @, R+ X/ @! u4 I, {
template <class Normal, class Void>
3 i k& ]3 Z8 t* |7 i" f) r struct Type { typedef Void type; };
" b% R |0 K" m, X7 N5 R/ I, F% @};
9 c# j3 Y& e |) u F# D0 P/ u, i) | k: Z, \( k9 S
template <typename T>
2 E- c; O; n% W" f+ M$ s: D: Uclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
; l1 p5 s- T' D( V u: i{' {% J) q$ U; V/ G4 {; v
public:
6 i5 h B# k% x* ]1 B- ?1 q3 e QFuture<T> start()# v8 o: a, h$ t- ~9 z; |+ v
{; H6 k( ]2 {. Q
this->setRunnable(this);6 W9 r- F4 G$ \$ D. H. H
this->reportStarted();
% `( N5 G3 W* U4 w$ e+ @: u8 W9 C7 H QFuture<T> future = this->future();. l" l# `, ~: \% p& l
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
# C% A, b% e0 T return future;0 f7 R: i) n8 {4 g! g
}
" s6 b' X% B9 }" d; {8 |! a% |' _, g( u% _# g) h6 w: I" I
void run() {}7 v/ O3 r& ^5 d6 f# u" S" ?
virtual void runFunctor() = 0;
. V5 @4 |/ [/ i# C};3 W1 v; L0 A5 Z& U ?: U8 `
# K6 b0 J8 K2 G4 n' i; s2 ttemplate <typename T>. \- U- ?( p" f9 X
class RunFunctionTask : public RunFunctionTaskBase<T>- U7 d, E0 N1 r J
{
% F) _5 m1 B2 m7 U9 \$ ~* \0 u( @public:
, ~3 I% p% M! E9 u0 D void run()
9 A( N2 ? m3 \ m( d9 T3 M! b' l3 l {6 {$ x& M6 u4 W3 K7 G' d1 x& Z4 }
if (this->isCanceled()) {( c2 X' j* N! Y/ J7 g& \( e* _1 h- z% m
this->reportFinished();, E* Q$ _3 ]& I$ ^% W9 c
return;- S; M k1 @$ B6 o
}
8 {$ n" l7 @0 A4 l. p this->runFunctor();
* s8 S8 G; m; v- s7 [* a8 Y6 A8 ~ this->reportResult(result);
F$ k3 k+ U2 k6 g( J this->reportFinished();5 Z- x! {: J( E& e( F7 w+ j# A8 }
}5 k+ Q! }0 a* ~4 m/ }: }. S$ r
T result;$ `% r$ y$ i# B. g" l* N
};1 L! E2 y6 i# o7 ]( k# \
$ n6 B" p5 Q- _( }4 Ltemplate <>
4 \- g3 B P: `% D) S: @class RunFunctionTask<void> : public RunFunctionTaskBase<void>
6 R: |! A% o3 k A+ O{- Y/ W1 G& [4 l0 w/ y/ ?
public:' Y: z- r+ l: }: v- D, W# I2 x
void run()
' i$ ^* @# G& C2 p {
3 t; x$ E q7 `4 b if (this->isCanceled()) {
7 l3 A8 ? v3 ?* B k0 V5 O- Q this->reportFinished();4 I2 v- I" u1 K4 O& e! [* i
return;
3 I3 @8 X8 _9 F- M }
" u9 a) c5 M( H8 J. E/ Z7 Q7 i- b this->runFunctor();7 l1 k" w @; r, ^ t+ A8 T7 Y
this->reportFinished();
. p8 t- H- z6 L3 p }
0 @8 Q* y) d/ w! j* W4 ~5 M};8 s) W; d9 E0 B& Y; f" c
0 p& T0 t: v' q* T! v3 g
} //namespace QtConcurrent
5 X; `, [2 c5 t7 S/ ?" ~) Y* O) o/ p5 H( r* Z, y: P9 G
#endif //qdoc
4 }$ t$ Q/ w; ^$ s% T, `( \! q" _5 j
QT_END_NAMESPACE
( [8 m8 U& A4 ^* V2 JQT_END_HEADER0 h4 T+ o7 C3 }
/ m; H& I4 L+ z9 e7 U$ A. ?#endif // QT_NO_CONCURRENT
; b3 h$ C9 h, y; u/ d
) M B" i& c6 g( F1 ~#endif
. u: k8 X8 B3 r1 I8 ~5 V) R% ?3 t( k7 Z+ k6 b
|
|