|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
, r( X, P$ o7 ]/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'# q \0 D- f# ~. d! t' m4 C
/ Q/ C1 y; v- D' M0 T+ V
这个头文件内容如下:
+ S- H. y% ^6 g! w9 d#ifndef QTCONCURRENT_RUNBASE_H- A% l* s0 s" v
#define QTCONCURRENT_RUNBASE_H1 E1 z1 w9 C7 e: H
! C+ g1 l" k9 w#include <QtCore/qglobal.h>
' E8 T9 q/ F- n$ Q; w0 E: `6 y6 o1 |( q* i
#ifndef QT_NO_CONCURRENT
) ~8 g F1 ^- h' ?
2 S% Z9 `# `) F#include <QtCore/qfuture.h>: I6 T- O) E" f- _
#include <QtCore/qrunnable.h>/ I' n& E( C7 a
#include <QtCore/qthreadpool.h>3 c4 |8 a$ p/ u% ?, l
$ V3 f6 U* Y" q4 x4 Y. A- `8 Y
QT_BEGIN_HEADER+ G2 P4 i, e5 o2 S' V% N
QT_BEGIN_NAMESPACE
. \5 p1 d7 v1 d! v( f! k5 a, u5 q8 j+ ?7 i9 r9 o
QT_MODULE(Core); B7 @$ J. G d1 j! Z Z4 W. L7 _$ N( ?
, `! F9 P' p9 s. r$ c( ^#ifndef qdoc# f7 ]; n* s$ M+ G2 _; p& c0 H( ]
- Y; W6 l0 U; y# ]" ]
namespace QtConcurrent {! Y" @5 P, ~0 T
. M0 {8 ] y3 W3 Otemplate <typename T>
$ ?1 Z8 @; x8 Astruct SelectSpecialization
/ m5 M, o; `$ b2 B5 _' h/ N* K9 D: _{
& S" \9 |$ J' }+ }0 M+ P+ @ template <class Normal, class Void>
- d' \4 k: s/ m4 l9 B" K- e struct Type { typedef Normal type; };
# n u+ T9 M' K};' Y8 O! j3 J$ ^* q* U; W0 t
9 O# u9 A: R. Y: D3 R3 h$ Vtemplate <># G. p! K3 p% v: i, ^9 W: ^
struct SelectSpecialization<void>1 v1 W6 U3 P, R: A7 Z
{- Y3 L5 l/ ?/ C- K6 ]
template <class Normal, class Void># V( w; [- e% F
struct Type { typedef Void type; };
8 r! R. v$ p8 B# c% {8 z: p: o};
, E0 d0 ~( U7 m) B- D& W: a( R3 `. M* l' [* a6 C
template <typename T>
# T9 E. \5 x9 ?, ?class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
- c1 _1 l4 e3 a0 U# y. r- W{$ n) `& R, B% Q
public:
+ v$ a1 N4 k- u9 ?$ n+ _4 c QFuture<T> start()
) |+ K$ N8 G" J7 Y# q, D' w {% m j; V) f( v' u* [
this->setRunnable(this);. K" m: }" i! Y
this->reportStarted();
1 `: L$ i$ ] O5 d QFuture<T> future = this->future();
; }5 l0 f, L3 d' Y1 Y6 ~/ a QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);) e, w/ }& J* x5 O& n7 w% s* N
return future;
3 j. Q! z5 ?" A. N, Y }
7 p* z/ v( s0 e9 j: t' ^( Q# g/ o: ]% }5 F* {9 m& w
void run() {}+ X# T- d9 G1 z, \) [- E; R
virtual void runFunctor() = 0;
6 S. e( F: z. G};+ e- O0 M* ^1 x- H+ ~
7 ?7 [& {# B4 G |) R
template <typename T>9 H) e+ A! E ? b1 H# |
class RunFunctionTask : public RunFunctionTaskBase<T>
" X, S4 F4 T7 h W. t{
- _/ }. }1 a$ W! |% Lpublic:
5 P( ?5 M- f4 Y4 y y9 d2 i void run()2 P4 b: Z1 M2 _8 n& s# b* }
{4 t3 y& @( w7 N) y! E m% q
if (this->isCanceled()) { }2 `2 R' u: ^5 Q( M7 ]
this->reportFinished();% J; d# e, D5 J& C% ^/ B% z( c* Y6 o
return;
M3 r# _# }9 R- E* d }3 S6 S. K# y: J" N# F$ Q
this->runFunctor();; P- e' \; w8 ` ^5 [( N
this->reportResult(result);
3 W9 j+ r- X# }. ` this->reportFinished();
# s/ q; x8 |9 V }- U4 z$ o5 j4 d+ X* |# _( j. q
T result;
; A" Z, {8 M, R! x};
2 l k5 D# v! a' T' g! P" q* x8 u' w/ y4 s8 M
template <>
0 R9 M" U7 E7 _! R2 Jclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
w* T0 U, n2 r* e/ h{: x" F) t! s5 B% _1 v/ m
public:
" S( l5 P* s' [3 \5 C9 { m5 s6 k void run()
7 S; [6 q0 a, `- i/ @( W% v {1 j. N% m& w1 u& _. D( w; ~4 ?0 N
if (this->isCanceled()) {) e3 ^8 `$ m- C8 t
this->reportFinished();
! U3 U9 o) U/ J; A: S) e return; f4 s2 a$ z) I7 w
}
- m7 {0 A& o% O7 s; z2 }4 T& J this->runFunctor();' a6 [) Q/ y, d4 @
this->reportFinished();
- f! L m; u* s7 P3 U }: T' Q$ a3 c, Q1 a: `
};) @ T4 j! @- b" I% f& S$ ~
2 p& K$ [7 p& r* F( Q} //namespace QtConcurrent
) e, H* c$ ?8 j9 Z9 G) g# a5 y$ ~( w. d% d7 {7 k/ D: ]
#endif //qdoc. k z- F/ G4 B" M. ^7 {) m( [! ?
' R @7 S, v- t+ g: hQT_END_NAMESPACE& _ h% I0 v/ y
QT_END_HEADER
$ P4 X2 ~+ ?8 C- ?4 [
6 L6 D2 U. Y3 x#endif // QT_NO_CONCURRENT% |1 u8 t6 J# f& R5 P- `) `; S
' \3 L+ i0 k* Y% h l7 t2 x9 D#endif
4 N% K" v4 f% }9 @7 I+ n( o$ g. ]( s
|
|