|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
4 q/ M" @, M& g5 L! D6 t+ I/ |2 g/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
- C, `) V0 M% Q I
; r4 d7 ]: ?. q7 X, e% d) x这个头文件内容如下:
% P; s- w, H; ^0 N/ l#ifndef QTCONCURRENT_RUNBASE_H
" E9 n1 z& \: x* @. `: A#define QTCONCURRENT_RUNBASE_H8 v8 {: n4 K4 U/ z( B4 _0 G
( m! \, X7 r% b# F#include <QtCore/qglobal.h>+ g( S7 u4 b2 B& _$ M0 V
7 O4 Z( a7 O! h
#ifndef QT_NO_CONCURRENT
9 M3 F/ ^; D0 M; d1 d" w) U
! q# w1 l) G5 u5 b#include <QtCore/qfuture.h>
9 u0 r Y6 {5 ?' C }+ ~, o#include <QtCore/qrunnable.h>, F: I' _/ }' i; }3 L
#include <QtCore/qthreadpool.h>' \3 y0 X& `2 |' T& c, O/ _0 p
5 o% ]( h- s- c& C& ?QT_BEGIN_HEADER% m x: }: R0 {
QT_BEGIN_NAMESPACE
`( P, \% c2 C# I4 J5 w1 F
! l- a: z: V7 B, @1 r/ T2 zQT_MODULE(Core)" v8 l* m' |8 x* v
; V/ }1 b$ s1 M! Z* x. k#ifndef qdoc
- k& ~( C) w8 G! u9 v
6 g( U0 q; k# Vnamespace QtConcurrent {% c6 f: |: Z& [: V6 V6 f$ C
5 I' _1 e4 a! ]+ h9 V/ ktemplate <typename T>% o. F1 A5 i1 g! |+ V
struct SelectSpecialization. _4 t4 j; o) v+ j
{
- z3 t3 C4 O( U( _5 {8 _- _$ _* v. p3 u template <class Normal, class Void>
/ W- ]1 R2 f& v& X- @; ^5 L! o) w struct Type { typedef Normal type; };4 @9 s8 A; X, x+ s( y+ o) }
};
( \4 F) u* D7 d* t5 s. K" j, h2 v5 Y) y4 }( ~3 ^0 S
template <>
5 H% @$ c G) Vstruct SelectSpecialization<void>
q' l* E; _3 ~9 k$ p{ [8 Y4 h) g- j, r; ?8 ~
template <class Normal, class Void>4 [7 N; W3 I9 `+ g% J$ M0 O
struct Type { typedef Void type; };
* x, R* G. N1 P# {# S};/ U2 y# H( Y, U8 j0 R
5 \2 e# S5 `! p; x( z' e! @
template <typename T>" y0 `9 `* x: h4 ]
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
' I B; c) y2 P4 o! f# C& e{5 u& C( E# l* ?
public:0 k" O- W v- X. m
QFuture<T> start()$ W5 X* ?2 y. C' V0 i
{! s- J! p% n7 g8 |6 g ^( M# u
this->setRunnable(this);
: [! i' J$ b! M6 w3 r this->reportStarted();
) O' A5 E4 N: v2 a( u6 n6 _ QFuture<T> future = this->future();% k" w# A7 N+ {
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);7 r* E* a9 U/ L8 t5 E- A
return future;
$ D( ?! K) |( w9 x- T R" Y( d( \ }
8 l' H0 o/ v- C N* A2 h( U) m J6 F! P' d* K8 J- H9 v
void run() {}
; P8 f1 w+ X8 O3 L2 l, Z virtual void runFunctor() = 0;1 u2 D9 y" T6 { z. J
};
2 n, l5 e) d- i: ?; K0 v# P- V" t( K4 q9 x. x* I1 B, r, u: A; }
template <typename T>% M" V4 R% j0 d8 P2 c, z( d. ?
class RunFunctionTask : public RunFunctionTaskBase<T>+ y) t0 p! v& i6 s/ R9 `7 w# W
{5 d' a: Z* k( U' F; \* r3 W
public:
( L& \+ T* f9 m) q4 l/ ?9 c5 S void run()8 F) E- n' b/ g4 e
{3 p3 O, e6 P8 \: k- z" p2 x8 m( U
if (this->isCanceled()) {
1 ? f8 g$ H9 |. q$ `4 J! M% U this->reportFinished();
" F- C( w% x0 {# ~5 J+ l% j% a return;
) L, y* h2 l0 D D2 G r: p }) G4 \; b1 d9 _# h1 g8 w
this->runFunctor();; y8 P% t6 o* X6 q
this->reportResult(result);. e; `" r: r9 R, v! _
this->reportFinished();
! g. U5 O4 B! W* l5 G }
" u/ M5 o( N/ J! a- u/ A T result;4 N7 J3 j' o2 w! W/ i$ ?, t
};1 L& i8 b6 Q7 i% ?$ @; I
# g6 N a6 q& H" Htemplate <>: l& x# p+ V4 v6 N
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
7 h$ o+ K `6 K; t+ R{1 i( F8 D0 F3 T* P; I4 m6 W
public:
9 I* ?, w% w6 t6 r8 c0 z' h7 V void run()0 d; f# y1 t8 e" V
{
. w/ C( w. V9 a if (this->isCanceled()) {
$ N, H- k! M% `4 H M5 V5 ?* Y this->reportFinished();: }. ~- w% q* D5 I1 Z7 C
return;
; d7 m; q; D. y$ @4 z1 q }8 a" C+ U- Q1 X) s
this->runFunctor();
6 \1 R, Q# c# S3 W1 W* @ this->reportFinished();( j/ p( N* ]9 Y9 R
}
, Q* X) N$ f3 S, V- u( j};
8 Q; L0 c6 Q @# V1 ]8 d7 ~' c
/ P* |; U" r! Y( a. T, r$ `2 r9 `! K2 P} //namespace QtConcurrent! ?$ Z* b/ l J3 C( I0 h0 W
H) l7 M# Y) J. F" [; j, l#endif //qdoc
( C8 u3 Y0 i* T1 K# A6 }/ p( E4 x3 {" Y h |, @: z
QT_END_NAMESPACE
. V+ x* Z) L2 P3 R/ YQT_END_HEADER. d# d- d2 p3 v7 }# i0 H
' ^% w/ F& _' h; c: J) _4 Y9 z
#endif // QT_NO_CONCURRENT7 ~1 {5 k( S" M4 B( z3 u+ t
, U/ M- g8 h# r* V( p- i#endif1 M2 p- ~. ~" E# M! t* U4 j
: q$ W! h9 L( [( ~6 K \ |
|