|
|
我对syslink进行交叉编译到arm,但是出现如下错误:3 S" x6 O% a% M d, e3 }
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'' s2 Q \$ C& u: F
$ P$ ~' V0 p; u, {# _# x这个头文件内容如下:5 D D# p$ k( G! k+ Q- h: A
#ifndef QTCONCURRENT_RUNBASE_H
2 U1 M% c2 j4 }1 M" |#define QTCONCURRENT_RUNBASE_H
: q8 [7 U8 l! }( G/ j
+ |' G& N) z( k D#include <QtCore/qglobal.h>
n0 x" n" C; }3 }+ Q
6 o* f% y6 |& F* T- a#ifndef QT_NO_CONCURRENT5 b( }& U/ M4 Q5 N
+ M( O9 D# r# k1 \! g f. r: i#include <QtCore/qfuture.h>
f1 u: e9 K- G; e( v) y& ]#include <QtCore/qrunnable.h>; ~5 F9 F( G& x3 a4 U8 |8 B5 @* u
#include <QtCore/qthreadpool.h>% }: d. R: y" L( j
7 m( ~ I$ v1 IQT_BEGIN_HEADER3 X1 U- ~/ I4 {
QT_BEGIN_NAMESPACE
) ^# Z( D- ?' w0 y! {* c, J
% p$ X* r i! l0 gQT_MODULE(Core)
* m1 g( U. j- T$ S! e" `. ]
+ c+ w9 D2 k1 ~/ k; O#ifndef qdoc
: n+ Q& n' F8 S/ R; F: ~( p
1 Z. t9 E" R0 C$ B3 Q8 Onamespace QtConcurrent {
; m3 G" n- n5 ?; T) k4 G3 D2 s) O6 f Z3 s' ]2 }8 I6 ?9 N
template <typename T>
m$ |& X, t& E2 x- xstruct SelectSpecialization
9 w o) t+ ?6 p( {7 H" l9 M{
5 f: T' B2 Q) S/ T) T6 Z template <class Normal, class Void>
4 b- Y% l0 Y" [& g( S struct Type { typedef Normal type; };( {# Y- M5 _; C' X- N1 R
};5 }4 Q" q' Q1 u2 h) [( o/ y2 j7 s
8 D. a" N0 \& ttemplate <>$ r/ B, u6 m+ b6 o
struct SelectSpecialization<void>
" e; G* M6 I+ F{
$ Z% [, W; ~, Y5 _ h( C9 J9 F template <class Normal, class Void>- x; ?, ]9 a0 E4 G+ u
struct Type { typedef Void type; };" ^! T/ u* Q3 Y! `+ w4 U
};
0 o4 Y! H! \$ l8 h& h
& I6 ~9 A. p8 U# Itemplate <typename T>9 _) N8 y3 h0 [* O K. D) P
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
& R( p4 `& L/ c1 A, d% }- T2 P{
* R+ Q0 o" Y3 i- z' F# `, \public:
# [& h( W% f- X QFuture<T> start()* f. i c' x- t* h. \ r
{
. u6 H; W" Y3 b; W1 Y this->setRunnable(this);
; u7 h, T# k4 s: ` this->reportStarted();
3 x1 G- @5 Y' f, B6 i QFuture<T> future = this->future();; c; @& P7 ~ z# Y6 E
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
9 h. F7 u; [. ]7 V1 ~$ }/ b. W' _ return future;! p& @. m( S5 S. y
}. Z: j% [$ J6 v8 z9 \
% g3 E; x$ v. T& \1 h/ Z8 V void run() {}
7 a4 K# c8 z$ ^ virtual void runFunctor() = 0;
* j$ K0 q1 ` f p6 K3 g};
6 q- z3 X& @! A p' x9 W9 S
* c* _( u) E; P! D% ]0 ntemplate <typename T>/ e( n7 x, v3 ~ \+ p2 L
class RunFunctionTask : public RunFunctionTaskBase<T>
9 U5 ? `) o! z{& `5 D6 {) Z- r2 I( E1 v
public:
9 r) b5 V" t9 b9 |4 ~: n" e void run()! n. @- H9 y' p: K' u9 r" O
{! i3 w+ m6 }2 U7 A
if (this->isCanceled()) {
1 W& u+ b- i1 k0 V this->reportFinished();0 R. j) o+ k% b4 C7 F. h
return;
F1 C* L. S/ n, N b/ D4 m }
: ]& M9 J+ S, Y6 w4 c this->runFunctor();
# T- l* P9 ~# _6 S1 R7 v% F this->reportResult(result);
* ^7 l6 C; N# H/ D: T! k" @ this->reportFinished();
1 p, [: H: j$ E7 K }
6 L8 Z7 D% u; f" a" o: m | T result;8 a/ ], A# s6 U- v/ ~9 ^# z+ H' ?/ I
};
; _- s9 B4 z$ R! g
, M) \7 w3 M4 t8 i6 O9 ]8 F! xtemplate <>
- F( N. c5 a6 ~' E6 E; ^class RunFunctionTask<void> : public RunFunctionTaskBase<void>
( L9 G1 D, ]: C: h9 d8 U{
, D' L' D0 i! x! [( k0 `public:
! q+ `" i% G6 B void run()
, v B! b# O, o0 Y! L {9 Y1 N9 m! T* h B. Z" u# g
if (this->isCanceled()) {
: g6 w* x/ }/ {% _4 M: m- x this->reportFinished();% e8 z/ K8 [( V1 F8 i
return;' R( B6 F" o/ ^- |! A; c. O W8 x
}3 t6 f! k( h6 [' W3 P
this->runFunctor();5 d: O% N, S- l+ H! ?
this->reportFinished();
$ p7 w _8 A o) x* ~, y; v8 _6 f }
$ C k4 J4 R7 |0 Q9 _9 x1 @. u};) {2 E9 |) p& ^
; N' ?$ u$ T) j$ m} //namespace QtConcurrent
* q8 q1 u y) n3 T9 S( x
$ t V+ i* x/ n- |#endif //qdoc
) s" P# `, g9 E& E2 z9 d+ ]% J/ q' H0 I& e4 _6 h
QT_END_NAMESPACE
# ^% {3 }) c. @QT_END_HEADER
- L4 h7 x% J4 ^* T( }* \# v6 x A: ~# O* H% V
#endif // QT_NO_CONCURRENT
3 S4 a, }( ^$ X2 a/ C; X0 L6 P3 y0 k9 ?$ |
$ z1 q' F% N9 t2 D* a; Z/ h. u#endif0 h/ v, `# U/ l% }
; p( f1 Z4 y/ h7 V8 F |
|