|
|
我对syslink进行交叉编译到arm,但是出现如下错误: l& V( ~3 G& G5 @
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'0 p& l6 N9 _7 c1 \' E
4 F4 {$ Q) l% ]: v这个头文件内容如下:4 S, [$ o R) B0 t" U
#ifndef QTCONCURRENT_RUNBASE_H
u, k; C4 a5 y$ |% e: P#define QTCONCURRENT_RUNBASE_H
' P/ U% c+ E' z. R: K8 W- ~
1 h( E9 L4 I0 L' x: T! k#include <QtCore/qglobal.h>, n3 X& ?4 ~/ N, m( E
3 X7 \1 d- k% k1 i
#ifndef QT_NO_CONCURRENT
2 `+ a: M4 p1 [) u8 R- U
% O- W3 ^; ^" n8 N#include <QtCore/qfuture.h>! h9 G' f% z6 s2 c3 b: G3 B
#include <QtCore/qrunnable.h>
" b+ R3 k9 ^# G* s& [: |" O! v#include <QtCore/qthreadpool.h>7 A3 Z4 a' L6 w6 X
8 b+ }/ C+ Z9 }1 p; L2 s6 gQT_BEGIN_HEADER: b& S% t) _ V8 c: a
QT_BEGIN_NAMESPACE
4 D4 e+ E: j7 X( P% v/ a* _' i: X
QT_MODULE(Core)
$ O8 }* H% i. \8 i' g: ?& t! U" M6 g& C( h6 L
#ifndef qdoc
: J" t+ D- Z' z8 B/ l9 X/ z7 d. h; w+ R3 L* h5 D Q9 L
namespace QtConcurrent {3 q: ~9 b' \6 U& S4 [
5 Q* h- ^- `- Z: k' Xtemplate <typename T>& v( U* | H0 G* N. ?- C
struct SelectSpecialization
2 y' o" r( y0 {: C+ }{
" [( o& d: Z7 m$ }- d template <class Normal, class Void>6 K. D6 v9 f( [8 w. X& [" s) T: c$ X
struct Type { typedef Normal type; };9 L8 ?4 r# n# Z7 J2 F- j% u" c
};
2 p& c4 `6 U: e* g3 R9 m
/ m1 o1 h* i6 I2 mtemplate <>4 }% n6 Z: t; G. L7 |
struct SelectSpecialization<void>( R. L- K8 R) A
{
& m' M K2 X9 s# _! m template <class Normal, class Void>
. f( P5 L. d8 d, Q, N- G" ~6 ~ struct Type { typedef Void type; };3 F- h7 X; b/ a c4 `7 o' q
};6 Y1 P' a( Q; E" q4 _1 O) w
- _* _* w. A. Y9 x O u
template <typename T>+ ^1 S! I. U+ ?( L z
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable/ r; u+ h# E4 a' k4 ^
{
4 }5 M2 a& M( e$ }public:
4 I4 V) q$ @' D' _ QFuture<T> start()
8 X0 o k1 I/ v {7 ~/ l$ y8 V" `+ ?
this->setRunnable(this);7 w3 S! R0 g0 u# B
this->reportStarted();
, H& I0 s# d( q QFuture<T> future = this->future();' a. ?6 B& s& h" o' L( x
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
7 h- u- X4 Z9 d. S return future;3 `& T" k" H3 r, n4 s
}
5 v9 G1 K$ y9 a
7 N5 y- r) M$ \; u5 C0 I. @ void run() {}
1 T/ R6 b/ x+ h, ] virtual void runFunctor() = 0;" N$ B$ e) q1 m. ]& j1 A- V
};' a2 E5 {4 {9 R( Q
* e+ g/ D: K* N5 C
template <typename T>6 Q" |+ ?5 d/ }" D
class RunFunctionTask : public RunFunctionTaskBase<T>8 n* B; T4 i' E7 \! [
{
X' ^3 {! j; v5 Zpublic:. D9 E+ E7 Y3 \ A
void run()
3 r! \: a/ g3 W5 U' s0 T1 } {
2 X# E+ O; g* e if (this->isCanceled()) {
- c' w& }( ~, }- M' W: y7 X this->reportFinished();
& \" ^ c! `- s6 a return;
, ^; u( `5 N/ |. K/ c9 x( ^- ~& J }
& V1 d' o! w6 I' ?1 X this->runFunctor();
" ]# y' Y, p* z; Q5 q s- Z' K( k this->reportResult(result);3 \- z* X& h4 O+ Z) }, l
this->reportFinished();( T7 _ ~# f s2 }% S
}% f0 M% n% p$ O1 f# R( l
T result;
$ ?6 b) e! z q4 j};# C! u: O+ ~% ]" H, H- b9 z5 f
$ V0 }/ y" I! h4 Q7 e+ ?
template <>- l/ B1 e9 Y8 X3 |' J6 j) x \
class RunFunctionTask<void> : public RunFunctionTaskBase<void>+ {" ]" |/ H/ g3 v
{' X X0 p% |6 \+ ^) @! [9 h
public:
- L0 f0 p7 S! l$ n6 V, V void run()
7 |+ ?- H, O8 h; | {, ^ p( U8 I, H9 Q& a3 ?
if (this->isCanceled()) {
7 A+ _# j0 u2 W this->reportFinished();( ?- O3 v3 W, b
return;/ s0 X& H. ]2 q: R7 G( ^* @
}6 R4 M' u! m1 p' D6 Z6 m
this->runFunctor();, I( _) R6 q) T* R+ A# o+ v
this->reportFinished();& H) v3 W! h% N
}7 d% g! e! j# ^5 h' Z
};
9 K4 a7 e0 C# o6 @ k" q$ u4 k8 r6 G$ j6 [- Y% `2 x2 w- I1 G" }
} //namespace QtConcurrent
9 f7 A; z5 k7 y& f: u1 L
Y/ e4 Y+ s4 r: M7 a1 l5 ?5 ^#endif //qdoc& F/ S6 n8 [9 s& z% A0 h, Z
' d. U* r3 o8 m9 w/ o$ N; Y
QT_END_NAMESPACE
5 w @' e" Z3 U9 B+ oQT_END_HEADER: p( t4 _* @! E, G
" t# a; ?( {/ c
#endif // QT_NO_CONCURRENT5 ~, x& d! g% `8 v8 v: o
: l5 }: `+ ?/ {6 ]
#endif
' E4 S! N7 S7 D$ Q( l8 P$ X- Y+ x0 [' r
|
|