|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
9 L, k# E5 R E) o; D6 L/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
, k- r7 M) ^( z8 E! B! ^5 k% x' @
这个头文件内容如下:8 O& u; E& m$ ?- u
#ifndef QTCONCURRENT_RUNBASE_H( X, J- }+ j' ~
#define QTCONCURRENT_RUNBASE_H
9 u3 A6 N# L9 G& H" Q0 C) h8 n8 H. ]- Z6 u5 p$ o- l
#include <QtCore/qglobal.h>+ D5 A% T$ ~: n
/ l& b# x& }( }) _
#ifndef QT_NO_CONCURRENT9 X! c8 G, G: {
' |$ [. D6 h1 r+ ?* P+ G6 [#include <QtCore/qfuture.h>
" W* z4 r9 L$ F2 A; q# V#include <QtCore/qrunnable.h>+ G5 g) u; q' u6 `3 |
#include <QtCore/qthreadpool.h>
3 |$ E5 ~+ i) K# f, K) {
7 _; n7 e) L) X8 xQT_BEGIN_HEADER
( o2 B# W. z- j! ~0 vQT_BEGIN_NAMESPACE- W+ _' d% z6 j N! n" v6 a F
6 |# ^% b/ y0 }1 LQT_MODULE(Core)2 P. N7 ?1 P1 N+ j1 ]7 Q- N+ d) [
9 R+ o! ?# n3 a$ q! S5 s
#ifndef qdoc
' p; X0 Y# ^: @! h6 _- G% E
/ E7 ^8 o0 u* m2 hnamespace QtConcurrent {( j7 `. Q, Y0 J4 y0 _3 P
0 n0 y. a% o$ j5 y
template <typename T>
6 \% T: J+ `+ ^1 F5 D8 a0 B9 {% astruct SelectSpecialization6 q( g9 [* {1 e0 F6 k3 _! v
{) \) U1 O" \1 R- ]& R9 I
template <class Normal, class Void>
& f3 E- Y6 h# o struct Type { typedef Normal type; };
! G" W' X8 U/ T& V; D};
" l, A( S/ e6 E0 O
# h6 m: _# v$ H m. p7 Ctemplate <>: d/ Y/ M, w8 V+ T
struct SelectSpecialization<void>
5 |2 q( V$ D6 Y{3 k. } ^8 t% s d6 X& Q
template <class Normal, class Void>, J0 l( O5 |4 i$ }5 Q0 W: C
struct Type { typedef Void type; };7 g) A2 B9 S* g& @" j
};6 x2 N- u) c/ E) s @, V
& o; l' Z# j! ]$ z' d! E, V2 {
template <typename T>, A* X1 _: {0 C
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
+ n) ]- `4 R7 _/ z- t! g{
. {5 n. M( A# Zpublic:
" N G( R$ ]5 W1 y# s5 f. @ QFuture<T> start()$ c1 i; d" B* b# O
{, ~0 f( S$ q) j1 ]2 L* H( a \. Z5 @
this->setRunnable(this);) _5 L6 z# M. ?6 D& c6 {
this->reportStarted();
7 j! l/ W# {* ^* {2 | QFuture<T> future = this->future();% L3 ~/ @- y1 c% s# K- c9 ~# a
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);8 W0 `3 r- L% n
return future;. a! F& P! c- @
}
( s& r1 C- `9 \# w
* ]5 G, @1 [) e4 S2 } void run() {} B( J, G5 @8 \
virtual void runFunctor() = 0;. J% B; d" H/ K2 ^ V0 q
};7 S' }0 N1 t% l6 f2 @
- B+ M% J4 n8 y% ^, [( j2 Utemplate <typename T>4 n& X7 O+ f, Q4 s; b3 c9 H
class RunFunctionTask : public RunFunctionTaskBase<T>
) M5 `2 _ D0 X8 Q" U4 ]% Z! m{) w# f4 a. q( O7 G9 X* L$ x( s
public:
+ u0 k3 B. {% C7 c void run()) W1 T2 T5 i3 ~8 X# D& D2 _
{
% @, D T/ ?9 f- I2 e: L if (this->isCanceled()) {
' o$ y* P& l+ y2 ]; @1 E0 ^/ v2 B this->reportFinished();
5 x2 i6 G# q6 S. \3 ^9 T/ S/ { return;
) O- B' F H4 L+ \: O$ }" y }
+ a2 i3 ?0 }# v+ {! [! P" p- a* u this->runFunctor();
7 ]: G* L b" |; Y, G1 @% D! ~2 I this->reportResult(result);
& s6 A J5 q S8 r3 \; N# f this->reportFinished();
4 W' q2 Y' @7 U! A }
. c# ?( K: ]" M T result;1 t8 V) h( ?8 d8 w3 v- j; G2 A
};! t3 a. o* Y6 o! f) v
8 \; r3 J9 ]9 P6 O5 S6 M. b6 m0 Itemplate <>
* C- B2 y1 c- g- e5 }# oclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
; z( V& I) ^% B0 I) M: p{# G6 ^$ x! p. e/ S1 P1 i; i$ C1 o% w' L
public:; W% U* u# C1 [7 v; h* G2 `* t
void run()
) M! o: O7 k# ^$ `; ` {
( y8 s' R* L8 k6 o& A0 {# `8 @- J if (this->isCanceled()) {
8 |+ k( W0 d4 C+ i9 u% ` this->reportFinished(); W: \$ U1 ~- D, }3 K5 Z
return;9 a- P: o }. O: C$ n
}* U' P6 Y! a0 y& e" w7 f
this->runFunctor();% ?) O& s; R' l- o* s; M$ }
this->reportFinished();
4 K9 z, h" S2 V* @9 T+ b+ J" }3 _7 | }1 U9 c! K6 d8 \
};
2 \" B2 B1 f; d: k7 s
/ t( M$ i9 N6 ]9 l1 t# Z# B} //namespace QtConcurrent
4 q* b! r4 Y& L z: o9 ?* @: z) j- q) d# A# s
#endif //qdoc: l! s$ a; d' q
/ B6 p5 h* l5 I8 E* ]QT_END_NAMESPACE) v1 D* g' }' T0 d8 ?
QT_END_HEADER
; q0 p+ Z' H$ Z1 Q! N& ~6 W% p1 P4 q6 W; R
#endif // QT_NO_CONCURRENT
- O2 @- |; w& v& u) n
# E- V, z) A0 ~6 m; o# ^1 g6 `3 S#endif0 G8 y* u5 a5 C/ Y
) n; Y# [! O; w$ [" T6 e2 {% e
|
|