|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- M1 S/ f- K! X) f/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'( [6 E0 y8 o4 A4 I. t) w* |
* H+ F2 F# J* d/ \' A这个头文件内容如下:, X/ R, A) J2 j* @2 o/ J
#ifndef QTCONCURRENT_RUNBASE_H
# X7 }; [- q3 v#define QTCONCURRENT_RUNBASE_H
' ]1 e+ }& D% E1 M, b, b. t3 D5 Y6 J* N' E% O
#include <QtCore/qglobal.h>
/ B) u( {. _" P/ l( Z
3 m9 x% d9 v- v( B- U, {) L#ifndef QT_NO_CONCURRENT( P, Y: H9 U# u5 O, C% ]
/ L$ H- h' `" o, \
#include <QtCore/qfuture.h>0 D6 M, w& x) |- ?
#include <QtCore/qrunnable.h>
9 ]3 ]! l6 b1 n4 ~#include <QtCore/qthreadpool.h>3 x' K* k3 D ^, t. X m
" I$ X/ f1 i0 }* H% f* \4 X2 ?0 r, jQT_BEGIN_HEADER( l. |. C0 b0 R3 }" F: L
QT_BEGIN_NAMESPACE
" j3 j! }# t6 P; J3 |% P4 b: r' e ~8 C8 @: t6 |* p8 N
QT_MODULE(Core)7 r& w2 D3 }2 \" m" V: O- A
$ ?+ Y" a: [( r6 v#ifndef qdoc
4 q, {' v1 w6 e; h2 f' x
W6 f7 X$ c% H. x P" Bnamespace QtConcurrent {
# u0 a M0 r/ `! u& t% h3 L: L' |' s' I+ G: @% g& f
template <typename T>
6 H) o/ p6 I: s: z* e0 v/ |struct SelectSpecialization6 X7 Z4 t! ^3 _" |( d7 i
{
; h% n) [7 H7 Y4 @: n- V template <class Normal, class Void>
9 v3 `/ o: b8 P struct Type { typedef Normal type; };: { l: \: ^2 b. m% X
};
9 U, Y! l8 c! {" d4 p, F& B
, M5 @ }5 Z& R% J5 r |0 jtemplate <>7 ?6 _6 x9 T; H. E
struct SelectSpecialization<void>
: Q3 v! t+ S5 l) f- g* P* n1 D: Q{1 i; j: _+ X, i; X0 d6 F" l7 Z
template <class Normal, class Void>
2 r) b3 S6 |- m4 q0 j1 @ W struct Type { typedef Void type; };
) e$ x2 s: U2 {};
$ v6 D4 X0 ^+ _% R% i7 @( m0 J: ?2 f* q6 F) i0 _" h
template <typename T>
j- E! h% q+ [8 M- ]# @5 f) ^* Lclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable3 R" g- j6 k$ i
{& D0 {; d# N9 ?0 z H0 ?
public:- V" o& D! D9 M5 P
QFuture<T> start()
$ V2 h$ C- y5 b- _3 H {+ Q; T3 _% Z: t8 D6 \
this->setRunnable(this);
$ w% W6 Y8 q2 J' Z this->reportStarted();
( Z/ x( X) i, ?4 ]3 W. K. L! L QFuture<T> future = this->future();! K8 C9 u" h) k! t g1 t
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
* k8 n& p5 ?4 k( @) X& S2 Z return future;9 {: a/ ?' Y& ] r' m0 e
}% o R- P( n# {/ h$ X
' C! m/ J4 v5 f, a" | void run() {}! L" @% a0 O# r1 p: c1 g
virtual void runFunctor() = 0;$ r0 s) P9 e, W# ]
};
5 F2 m P# _/ h6 Z0 T& U
* P# s+ m7 U1 Y4 H: u" [3 Gtemplate <typename T>5 U5 U0 w# F/ S) x
class RunFunctionTask : public RunFunctionTaskBase<T>! u$ Z2 d, A) @% k" Y' F3 Y5 K
{% k, v" w' v: t. E' j/ }$ \& c
public:
) t4 o! [; S! @3 r/ T- ?. [ void run()3 j0 w; d" N* r# K3 ]0 z
{
7 R1 F0 r2 O8 O T if (this->isCanceled()) {& |% t M2 }9 u; Y2 e
this->reportFinished();
8 n) }# I+ s% i. p- Z/ p7 ]! a: K6 U* { return;
) ?! [, V' ~+ z0 Y2 u9 A; \$ H }/ t' Y/ g/ j! s9 p8 O3 b7 a
this->runFunctor();
$ r, O) G) F# I' L& _1 d0 p this->reportResult(result);5 }+ W* Q& f. [; J+ {
this->reportFinished();
) K9 i1 w2 [8 ^0 q, { J4 D }
" }) O7 S( A% f# [' G% I T result;
1 y8 m% i9 _2 B3 m};
J @: O( u& m7 q" t0 |, f; ~, U1 G6 u4 ~
template <>
* X9 f- J" }2 F. G6 R2 W9 vclass RunFunctionTask<void> : public RunFunctionTaskBase<void>; Y5 d. D5 W% }. G" t% N
{1 C/ R6 p- X) }8 P
public:1 E5 e9 s9 Q8 \
void run()% K% i) o1 N; f, Q! R8 m
{( n( z+ v( K5 w- x% _
if (this->isCanceled()) {
5 Q; V2 J7 ?8 d- a5 N: Z# t this->reportFinished();
6 I- \, Z4 C z5 a return;# R5 I% h! h/ E
}
/ p. x% q: d+ B this->runFunctor();
. C4 ?8 Z5 }" I! P this->reportFinished();
0 Q0 C+ P! I& [ }
+ j6 L4 a+ I+ L$ x5 F! H/ ]( q};* p& N; t ~: b
/ f7 l' m% o. @; u( \
} //namespace QtConcurrent
1 b( v5 P( g4 m) O; @+ o6 U" M
: D G( M9 h; {6 J+ x#endif //qdoc
2 N$ Q, W3 P( F" a7 I5 h! o/ j1 U- d$ h. c
QT_END_NAMESPACE
# w, b* s2 v" w* RQT_END_HEADER( p; n* n& L; ]/ O+ v/ M: P; Q U
2 i# Z" U. ~ q. |, y" S
#endif // QT_NO_CONCURRENT* P- K* ?5 @" z/ |6 u
* X3 Z6 d( O J8 l- \4 I#endif+ b" t; Y) W9 V& [% T
C* f$ c0 B1 l5 n
|
|