|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
9 S5 T0 [1 T& G( q, h8 X/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
9 A/ o+ O/ u m; M# c$ L9 c2 Z/ ^1 `& Z8 f
这个头文件内容如下:8 i1 n# w* Z# M' ^
#ifndef QTCONCURRENT_RUNBASE_H
7 `+ v! j0 F# I* ?5 i! {#define QTCONCURRENT_RUNBASE_H
9 L: w' X5 b1 P0 v/ i0 h6 ~
, t! S4 v2 L2 I, e#include <QtCore/qglobal.h>$ n0 n# `8 i! G0 [
- l8 t ~6 z: V
#ifndef QT_NO_CONCURRENT
, ?' `3 X& w) K+ o
" ^1 D% g2 U7 u" G" V; m$ j#include <QtCore/qfuture.h>
4 Q7 e! x/ f3 c#include <QtCore/qrunnable.h>; U6 {& ]! |) N$ Q. `( U1 F9 ]
#include <QtCore/qthreadpool.h>9 K2 i B& v& i3 T
2 W; W `8 ]; P% g4 VQT_BEGIN_HEADER1 q1 B" J- E# W' R. O7 [
QT_BEGIN_NAMESPACE8 H8 |1 f" Y$ w8 {" S
( H6 D; s7 B8 k5 M& C, J, mQT_MODULE(Core) E+ ^$ f, a _
~; S: Z" y0 z' n( h# D0 K
#ifndef qdoc
* M6 }+ _: } g% g! G; }) h" ]& n8 G1 K& j# ^ F8 V6 Z. y! ~" Y
namespace QtConcurrent {( q" p% l1 U1 M7 O4 y5 z6 {
( s, N# Q; c, T7 F0 k( A- b
template <typename T>
5 V( L# k8 y" @! q1 U' P+ Sstruct SelectSpecialization
/ P" [7 O; g7 `9 q7 q1 x6 c# ~{
( m" ^5 j7 B4 [8 m$ j template <class Normal, class Void>2 P9 G. o% V' o5 [ }
struct Type { typedef Normal type; };
% |1 o3 v" g( m; ?, b; J U};5 U. u, M6 Y+ ~) i8 i3 U! R
0 L% B/ V5 { r' ?+ J, o; J5 ftemplate <>
% Q: h; e4 L5 V1 o, z* @) xstruct SelectSpecialization<void>
S/ }* K. N3 t5 p{9 U T7 L# E2 r' f( k8 {+ i; @- C% U
template <class Normal, class Void>( y: t7 x: u( V$ Q" G
struct Type { typedef Void type; };
6 X5 P+ x. F- {3 J, P9 e8 B};
: ~- L1 y1 I7 }; s, f" i! R6 V4 q5 ~3 ?3 f& \3 R# ^! c6 G
template <typename T>
) V& i5 k* e- m" P ^class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
9 b/ Q, P% M" \* t( t; y{- Q7 z' I' k0 ]' g: y+ _
public:
6 d4 E2 X9 G8 w! d# X( T QFuture<T> start()' z4 u0 Z* A/ I" y
{
2 N8 g) O/ |! ~( Z$ U, C this->setRunnable(this);
* R6 W: a/ P1 h' d4 g. s5 d4 a. b this->reportStarted();) `# f/ a3 H! G9 U# u
QFuture<T> future = this->future();
, g% I" J. c* o; O QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
7 [# D+ ]2 E, d return future;
3 p# C. } _0 a7 b5 N8 ] }
! B# H o9 Q! m) @. ` v {
' i1 z: e# W0 N8 X6 T# Q& {1 t void run() {}
I' E8 a* O& { virtual void runFunctor() = 0;) m6 ^8 U+ ^2 ^1 I$ j
};+ \) e- R) D2 M5 o$ ? |
2 r) `& a, Y( |& r- z0 otemplate <typename T>7 `8 E* `( G% T
class RunFunctionTask : public RunFunctionTaskBase<T>
' {* }" a8 d. R# m* b{
# X7 I* J8 T! Npublic:) y& l; K) m) W6 W; q) v. J
void run()
* G0 a8 c5 O; ~3 }9 K$ x {- B- A/ H' T/ m: z2 F
if (this->isCanceled()) {
! \' P/ g o$ O this->reportFinished(); ~2 F1 ]. f- I6 a2 K5 Z' E# k) O3 V
return;
; d1 E( _5 q$ { }
3 b0 K0 `# ~0 ~ this->runFunctor();; P. N1 p' w- T) ^8 n% y0 s* ]
this->reportResult(result);% L8 h! A0 Q& I# s4 Z/ ]. E- ^
this->reportFinished();
9 U# W; S' q# u$ N- G+ s9 i }9 C9 I& t/ P4 ^# V0 }- S M! C' s
T result;4 b! u8 ~7 {7 I' o6 o- M
};
. m# ?6 \% U) l: u- ?0 S
5 w6 Z2 v+ S& l6 q) C `template <>
. K" a. ^8 o* v5 Fclass RunFunctionTask<void> : public RunFunctionTaskBase<void>! a: g) ] A- p, {
{
2 u% p K k, U, hpublic:
% E1 O) J4 H+ P void run()% M( P5 g4 d9 [/ `
{! Y8 ?7 [0 u7 ?- S3 w8 o
if (this->isCanceled()) {
3 t9 p. ?9 i( s, }, Q n this->reportFinished();
' c! w7 R% e7 K7 [ O8 Y2 `! |" C8 } return;# J( Z- B6 e2 ], ^
}) m1 w7 D! u0 _2 i- Q
this->runFunctor();
' c; |4 h: F! G/ x& y6 i this->reportFinished();
( o$ U" ]; f( o4 P. m7 B8 @ }
9 f5 _" v" o* H" c};
9 M; v# d! b8 c
& o+ @1 k/ { {, I$ U6 w} //namespace QtConcurrent5 M$ x* `/ R3 E% v/ R8 Z
: o7 R; I$ N8 B0 J( r& Y& Z& x
#endif //qdoc9 y: r- O; L6 J i
5 O6 P4 g' H S) e5 d+ u. SQT_END_NAMESPACE9 C8 @$ F1 Y* {% A, [4 e
QT_END_HEADER
1 S& O) R) r, O: W1 t G7 F* z" A$ \
#endif // QT_NO_CONCURRENT+ j7 h: @' e i0 X5 t0 z! ]- ~
- A3 M, s7 y6 f/ M
#endif
/ _" m% [+ C2 S; G2 n2 N" {2 t5 Z1 n3 s# G
|
|