|
|
我对syslink进行交叉编译到arm,但是出现如下错误:- y' C4 ^5 } @! D
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'4 n9 q' k9 K9 |6 o( E
! |: q: i0 S: e+ P$ }$ `
这个头文件内容如下:
1 K2 F% {( `8 U' [/ |" \#ifndef QTCONCURRENT_RUNBASE_H3 R% J2 N$ D, x d4 n4 G, S7 v; G
#define QTCONCURRENT_RUNBASE_H) s* a$ T H" W+ p& G
& |$ _% K' b' R h, ]- Y#include <QtCore/qglobal.h>( Z- C8 ^! b) X; M6 J& o, t
; y3 Q& e$ {( R" s4 E8 U+ ~
#ifndef QT_NO_CONCURRENT
2 V: x2 R6 V0 M* Q: ^# [- H9 c7 f( J! m, u
#include <QtCore/qfuture.h>0 [0 e w- o* H$ n) l- v6 M/ L
#include <QtCore/qrunnable.h>5 ~. p1 {; G1 ^
#include <QtCore/qthreadpool.h>
. W6 Z0 z& y$ U7 @" l# f# Q5 f8 E; V- |8 w, {
QT_BEGIN_HEADER
3 D- m# _" E3 ~QT_BEGIN_NAMESPACE
$ H5 e( N0 i& _9 R; C: u' E0 b: {
QT_MODULE(Core)7 @/ S* i+ j: `2 Q) `
4 ?% s; F% p2 Q& z# O
#ifndef qdoc
% H( G* o- B) t# Y! @9 X- M) g) U7 F: q1 }* N4 i+ E
namespace QtConcurrent {5 I& \' ]) E' L
, {- J/ ?+ h% L; {
template <typename T>: J1 x" J! T! ~! U8 D% o
struct SelectSpecialization1 b$ E5 c9 V3 q" ?
{* p' I* c0 \6 B: k
template <class Normal, class Void>
5 Z1 J8 G" i. a& L struct Type { typedef Normal type; };
. U) t2 T/ \; u6 }3 M/ x3 m0 a};
) e) d0 U/ V+ E+ E- z7 h5 u8 c& y# t/ K
+ D& ~! t+ _, o0 k6 O9 [template <>. t$ l# F9 y+ B1 ` \
struct SelectSpecialization<void>
; W0 [1 l, s+ p! ^$ x{0 l3 U/ u) O7 U6 g' P% H
template <class Normal, class Void>) n8 w7 [8 ^3 t$ m0 a. h
struct Type { typedef Void type; };3 C; n+ t' i: E/ ^& N' L" p$ {* j }
};
9 a6 m+ i2 o" t$ K9 W0 E M+ {& W& _
3 Z/ _9 s6 N3 |template <typename T>
" S/ i9 w* M% V, Zclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
" R- h0 M4 h0 |# n( q7 _{
& c: a' Q6 u1 L6 x0 P7 T% kpublic:
7 U" x9 F6 _9 }. ~% w% N9 @ QFuture<T> start()
1 r. _! P3 F5 r" `6 @ {
8 y4 N6 g4 T2 e) T# v- _ this->setRunnable(this);
2 L/ P1 j, L: { I' e2 @ this->reportStarted();# B3 L0 e& @7 \2 y* `
QFuture<T> future = this->future();
( I7 E# b: T3 n4 d/ i% I QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);' u+ w$ Q* Q2 C2 n6 q
return future;
+ Y5 Q$ F4 m& C9 T' n' X" P+ k4 c( A }
1 j8 F& f( d& q1 ?5 h$ L& y( m$ O" s' u7 K! H: A7 L
void run() {}) ^# d4 f5 X% k ]. P/ J
virtual void runFunctor() = 0;
' n; K) j L4 K9 Q% _$ t) h3 a- N};% f9 y' C) M! `/ e* b; W5 z
6 B& T: T( B/ {! X9 d9 |3 B$ P4 b
template <typename T>+ r! ]1 T/ r6 B$ V0 s3 S
class RunFunctionTask : public RunFunctionTaskBase<T>
9 r3 ?6 g5 x4 h% S8 j& K# Q{
# x! p; @# ?$ N/ M# {! Zpublic:1 A: c7 g( i. C f. o, n+ f# t3 j
void run()) L. r7 I) d2 E
{
0 N* U4 {) _* c, W1 r0 G7 u) t if (this->isCanceled()) {
! M) k& g5 [ b4 R0 u1 g+ S' \ this->reportFinished();0 S7 L& b8 \2 s0 m
return;
# S# e4 ]6 s/ _& i+ T }
. N* R7 k: ?+ N9 C2 z this->runFunctor();
, Z% I# ]" K- s% o9 `& V% f5 U this->reportResult(result);" z6 {6 s2 o3 I; b9 E/ m
this->reportFinished();# n( O& z! p F# A& R
}
, |" `0 d& M3 X' ]/ r T result;# z5 c# C% B0 D5 y+ m9 z
};' ]$ ]$ n5 t/ Q2 N5 k
2 ?5 C7 Y/ c1 z8 B' h/ x+ K
template <>$ j; }6 G# o! K/ C P
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
4 z9 x. b7 E- _+ _! ]( m{
3 z6 j6 Z& j' Mpublic:2 k3 O2 d3 s" A4 m% _
void run()
0 D4 w3 f& g; L" x, F. L3 g {0 i% `: @/ J# [1 M
if (this->isCanceled()) {: |% b( p9 ~2 o5 c; {
this->reportFinished();
, ~/ R! W5 y( O5 b ] return;
1 D' i% B. g/ M$ } }5 @4 O# t/ {" {6 u1 i* }) e9 J8 ~
this->runFunctor();
7 P; ~8 w+ i3 y9 a8 ?! b this->reportFinished();
8 O) W u. i& C }
% C4 B" v/ Q7 Z% M. o' O) a. C% [. c* G};" r. t* P3 _) t1 I* Z- z
4 Y- L. W& X8 s# j+ t) E9 m} //namespace QtConcurrent
) v: Q( V( W9 n4 M* k; ~! c) G5 Z8 ]# w$ i8 z$ Z9 B
#endif //qdoc9 X% C% X; x; O: Z
; {* i, p& B$ K# g
QT_END_NAMESPACE+ S& [) Q, V9 l; S3 @
QT_END_HEADER
) Z8 h( |- b0 j4 ]' m/ M7 J* T& W4 X* L& W4 f) |% P
#endif // QT_NO_CONCURRENT
1 b" D5 r [, U* f/ w" {6 F
+ O0 s) M. g( ^* d#endif- {" o' c4 P8 }4 ^
! S8 l5 P, N, J( w7 Z7 h6 [0 N |
|