|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
4 l, \0 ` w5 `' d$ h/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
5 k7 g" f' o' C% @, v' d. t, q6 S+ S9 l
这个头文件内容如下:+ v4 S, v; m. J- l/ j8 \0 e4 Y
#ifndef QTCONCURRENT_RUNBASE_H2 ~3 @$ ?7 u# F3 U5 b1 _: S- z/ z
#define QTCONCURRENT_RUNBASE_H
( u& n, `# L# ]( |7 n. r- W/ u5 }' f% f5 u
#include <QtCore/qglobal.h>
; f& I4 g# z: a% o6 k3 |3 f8 j" }0 O% ?) Y: d
#ifndef QT_NO_CONCURRENT, X! l. Q" }$ Y n
' R* _. z! F7 |
#include <QtCore/qfuture.h>
" _+ a( v2 y3 m* {8 r: a2 _#include <QtCore/qrunnable.h>
& G/ v4 P7 F1 m+ u& @$ _% `: I#include <QtCore/qthreadpool.h>
1 }5 F3 t( ` K( T( x+ r8 q" B! u+ H7 Y4 u
QT_BEGIN_HEADER- O) \. Z9 y3 C7 \2 z& b
QT_BEGIN_NAMESPACE1 c. ^8 {3 w- t6 j/ `4 y" [
! I2 z: O, [) rQT_MODULE(Core), {1 `5 X" P) R3 J' q
) [6 j/ i* j6 Z5 f% `+ `
#ifndef qdoc6 [$ f4 [0 T! j& E
! O8 W/ l& l: I1 q! ~2 B. M% {
namespace QtConcurrent {
- G2 }- \ J( H3 Z6 ]7 x
3 e. j( P( {3 b* Itemplate <typename T>* s9 t! `" x4 v. E! L0 |$ R
struct SelectSpecialization
6 d4 h% T% R* G9 [! ~! E% e9 Z% l{
" N: [ m9 N/ @' L1 i( ` template <class Normal, class Void>6 r) P' k3 _6 T g
struct Type { typedef Normal type; };
& h1 S1 H9 W1 r: i, m- ^};& P+ H7 w$ K& O6 @
% p% e( b# N) J; T+ |% Z, {2 J' K
template <>) n3 u6 v) G# e( v' D2 {. `
struct SelectSpecialization<void>
8 L' X# O+ o6 M# z( `{4 M/ w) z- D Y$ @1 J
template <class Normal, class Void>: q# l. Q1 M0 s8 z
struct Type { typedef Void type; };1 f" T1 l) k3 Q9 [1 F) G2 N
};9 ?$ ]7 V7 `0 n5 O* t( j
- V4 n3 B1 [$ H7 Y8 S
template <typename T>: t# r6 I, Q, }+ k( K% u& t
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable- Y( G( F5 k/ t
{
1 D% ?) U+ w! G' J# W; h# @public:. N7 G8 F. Q/ l3 o
QFuture<T> start()
7 \: Z) ?. F4 ]8 a- u. D {; ~' G4 V, ?) `4 K
this->setRunnable(this);8 S$ Z' s( m- \0 F
this->reportStarted();2 |$ A8 m& }3 p5 S# L
QFuture<T> future = this->future();
M* c+ C7 u) @( W5 b5 O; K QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);9 |7 {( s! t/ |* m! n3 ]7 w
return future;3 e- P9 B6 m& G4 v+ @
}
# `- s7 w" Q; W% I
7 }* O+ _0 T) _" b( F void run() {}7 h, O( I4 Y1 J$ i) p* |
virtual void runFunctor() = 0;) k @ J& l0 Q8 `3 y3 c9 n
};7 T8 N- B. c6 \. b9 ~* j9 A5 B
$ ^, M: r/ Q4 f8 J! r, \9 Rtemplate <typename T>
( R* E6 p; }* J% V- uclass RunFunctionTask : public RunFunctionTaskBase<T>3 u5 F/ T8 J9 |
{) \" ^, ?7 V, m [- a, V
public:. E$ C& _2 e# t* W+ d6 u
void run()
" ]4 Y& ~9 R9 p, [* H; T {7 a* ?! L7 s, H3 @/ l
if (this->isCanceled()) { z+ ?" T% F" E
this->reportFinished();
4 S# M9 V2 s" u# m! z& m return;
$ B* B. h3 ^2 h6 D }
4 s/ F7 W" ^8 \0 ]1 F2 x: X _' s( o this->runFunctor();
" F, ?. @# J! V- A this->reportResult(result);
6 c6 q2 [8 n- r$ `8 V9 j: H this->reportFinished();4 d' X8 I- d: A8 I# |4 e
}/ B" S" J7 a: K" z3 Z5 G
T result;
; C) l5 N4 Y( B' ]};
4 B6 Z1 T7 i: r5 B9 z: a3 f' g3 d f" X* E( n+ x& r+ d" b
template <>. u+ ] k4 _. S0 A% i
class RunFunctionTask<void> : public RunFunctionTaskBase<void>% U, r- H: V% Q, T+ K
{
$ u0 l* }; H5 P R9 Upublic:
, t. x' [! c0 H void run()
' ? d( x# B. w2 W* ? {. S0 n0 l9 O( U! Q3 e" z+ Q6 ^
if (this->isCanceled()) {
" ]" i& g" J& m5 `; a) B( A this->reportFinished();
( L; N$ z& k5 R! [ return;
3 l4 S1 x& ~9 Y7 K3 ] }4 g3 Y/ O3 o# z3 O. S! w9 V; V0 g
this->runFunctor();. z( o p" {+ _2 B
this->reportFinished();
- T; q3 b0 X/ B0 z5 e2 a+ Z0 T }- s, y& v# l" t7 S- T( u
};8 E; D P' B! T* G) O' j
: y! G/ I: |9 f, m
} //namespace QtConcurrent
: e( X% _/ j- w" q; C5 E/ @, c: n7 z( w6 _7 Q6 u
#endif //qdoc
( t( e* q5 s6 j/ d' J. T; V5 K4 p$ q- L, |7 r6 C' L
QT_END_NAMESPACE
/ j$ h3 g% W/ F' K+ hQT_END_HEADER2 o0 S3 K2 v% M2 i! e" b$ { x6 H
4 i+ @/ y v. F- m t P#endif // QT_NO_CONCURRENT) L2 c# [2 P2 l' o" o/ F9 j, l
5 Q0 y K9 q* ]1 a#endif1 ~8 A6 }$ g( h6 I) Y5 s) O! w9 X
( D, p' A: D( D- g1 e
|
|