|
我对syslink进行交叉编译到arm,但是出现如下错误:
2 G( ?- O# l9 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'" E8 Z( F; w$ |3 s- q) p* o- U9 M
/ e) I9 v$ M0 x9 }4 L* }这个头文件内容如下:, S' k+ n& w' f# q' {0 E6 H+ J
#ifndef QTCONCURRENT_RUNBASE_H# o3 p/ h; g8 G U3 L' S5 |; a
#define QTCONCURRENT_RUNBASE_H. N4 r% w* }# P- V
7 q4 u3 U# J! ^: m" G) l# E
#include <QtCore/qglobal.h>2 D# [1 A: S* S. d O9 P
9 z" n% `5 o( q
#ifndef QT_NO_CONCURRENT
}$ B9 S6 L4 U j
0 y7 I2 X1 C3 d+ _! i% O$ G#include <QtCore/qfuture.h>
7 m5 X4 E) l0 [0 i4 t. l#include <QtCore/qrunnable.h>! D2 B- ?: A6 L& m' B5 E$ `
#include <QtCore/qthreadpool.h>$ `# _. q- T7 c, J1 ?7 F. c
4 X/ f. N( r; N: [& W5 ?" a
QT_BEGIN_HEADER
2 z( w: P# W3 r/ MQT_BEGIN_NAMESPACE
+ u5 h% N% u; N# G6 Z! p! |9 n" H# A7 o) p; H. h9 v9 m% Q( F
QT_MODULE(Core)
5 ]6 L8 W$ S. s. A% D2 f; U
5 @: L# l7 @* B; h, `#ifndef qdoc8 e+ {2 o3 Q7 Z# s
9 Z: J) E- l! l$ Q9 q; C6 K3 mnamespace QtConcurrent {
$ b* R; f; z: F, z* w; Z' k0 u i; Z/ d2 A. H
template <typename T>
& |2 [% e( E6 G+ R" Q* G. tstruct SelectSpecialization& c7 l! Z. c! g- A
{
7 W6 W9 q: ]$ N# g template <class Normal, class Void>2 S z7 M P% v, {
struct Type { typedef Normal type; };
! D: b! p1 S* M. w" {( ]};
3 n' J8 F) V' G$ i+ g1 z: p0 v
6 ^5 A6 {9 s( D" F- vtemplate <>
! `! f$ s4 D! s( q) o6 m% hstruct SelectSpecialization<void>) s/ u% p* k. L' a
{- L7 I' f( Y8 f. Q
template <class Normal, class Void>7 {- O' D+ L: M; C% S3 G6 Q
struct Type { typedef Void type; };
. D3 ^: c, d) r2 q3 G: i9 ^: H8 N" J};
8 a8 y, O3 A5 L9 F7 x- N! a: Y5 N2 n/ G
template <typename T># j' [" ^; g7 F8 [& D
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
' ]1 T" A/ m$ u$ ~# q; C, ?{
2 Q& I* H+ k6 E8 d2 K7 ^public:$ \2 z3 N2 V+ e3 W4 i$ P% h9 D, ~
QFuture<T> start()6 N% k9 S# M: g* y7 R1 X
{8 o; A u7 p5 {) G. G
this->setRunnable(this);
! q% p7 w7 m1 t! D! X) b this->reportStarted();8 F( v/ e+ {# A
QFuture<T> future = this->future();
0 H9 d8 K3 I) Q1 D% C QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);7 v, D! D# t" P5 Z
return future;
% V |, g2 v- c2 m5 ?) K0 `5 N }
1 {4 Z1 ]1 m- _
8 o7 e4 h2 ] y void run() {}
. E4 C" m4 y% ^1 \! Q1 c. E virtual void runFunctor() = 0;
: u' V/ y! A9 j# x};
# P( x ^2 P7 X3 E1 j( s3 u6 Y5 `
7 m, s6 _% _9 ~' ntemplate <typename T>! T$ K' R2 c! ~* {- b1 J
class RunFunctionTask : public RunFunctionTaskBase<T>+ ^2 q( r; C- j; R% I
{
% B! N+ G/ k- L- o% F+ {+ g0 F8 Wpublic:
1 c' E- q2 Y! q- u4 n void run()
/ I S& I$ M: S0 B+ R {
) i3 A$ ]% m! p if (this->isCanceled()) {9 z' S$ E6 t# m9 z9 w
this->reportFinished(); M& ~9 q6 p0 [: T
return;
/ O1 B5 A9 W8 O$ v; g1 k }
. K3 a# m: E1 `( U2 i {2 r6 ^% b! [ this->runFunctor();
8 k6 a' M1 S! X _ this->reportResult(result);8 g7 G+ ? h% `
this->reportFinished();
q" e9 z0 v0 e- q0 ^, S }
3 K. x. @$ x3 S( i- X9 L T result;5 L( n6 G5 ]0 V6 [, K
};+ J/ c0 g+ d3 s& P7 h! X+ ^( L6 n1 Y
+ v5 ]$ V% o# R5 H4 utemplate <>% k& A* U2 ?- @6 }
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
; {* v8 ^$ L" }" F7 }. M( c{5 J6 I3 r m$ A G
public:, n2 \: c$ ~0 \7 u" B2 X
void run()) y, Y$ t) o) B/ b6 K+ g
{
$ \4 R$ r3 t2 O1 b+ i if (this->isCanceled()) {( [0 e! Y* s$ q9 v
this->reportFinished();+ e* K) c! P7 y1 j( ]
return;" S9 E& s& G# R1 k
}% l7 ?0 q8 S5 t, a& [
this->runFunctor();
* M+ Q9 ?7 ?' U, K8 W this->reportFinished();; Q- f" `8 v& R0 p
}
5 k9 I; M0 V1 _5 V, z};; T4 s6 k |( U& d% y$ G
5 z$ R4 _# d6 Y0 ?; u
} //namespace QtConcurrent
: y; j1 p7 g9 k) V+ ^ O
4 j5 {8 u' f) i' Y#endif //qdoc
; {$ ~$ J* \) E* X
. [0 M# }& G- h3 I+ _- e3 u; r9 pQT_END_NAMESPACE- p. { j: b9 K: b# w8 t" i
QT_END_HEADER# g$ h o2 j& y1 _9 S
4 C0 c% N2 W7 i- i V9 Y
#endif // QT_NO_CONCURRENT0 c. \, O2 y; X& x- |0 F
8 @1 ]) t# a! k# ^$ D# f+ F#endif
4 P# |% e r% H9 q2 P+ k$ S# `' L/ B( K" e" J3 G1 s: _6 |
|
|