|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
) O0 ?! c# H; W# u+ t/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 [& F& B C/ [6 T7 M: N
2 D n& |. g F
这个头文件内容如下:. c# p1 ^4 S& |4 R( J3 h S; b
#ifndef QTCONCURRENT_RUNBASE_H+ A3 [9 G5 w! J; J- v& ^
#define QTCONCURRENT_RUNBASE_H/ b2 Y5 O0 P8 Z
! b- j- \6 ~; f6 r! m8 N2 J
#include <QtCore/qglobal.h>- W( ?5 p8 S' K* \2 j2 k; |+ W
* G: f* \* G$ T5 F( D#ifndef QT_NO_CONCURRENT) I( l, V5 c6 f0 N7 [+ b2 \
% m+ T" o% d4 d# i2 n#include <QtCore/qfuture.h>
1 a. ?+ @# p4 |+ S#include <QtCore/qrunnable.h>
" {9 @. t8 {! V" \; s# h#include <QtCore/qthreadpool.h> {, ^+ {% R' `) R- M
4 E W7 p* ^: h6 n5 l3 J% h: Z
QT_BEGIN_HEADER
. ]4 k$ |( w$ g" W7 ^QT_BEGIN_NAMESPACE
8 b8 B- }( Y' d6 f- l- N: U$ b
9 y, s3 i3 o0 K9 v) p6 n. R8 fQT_MODULE(Core)
' l: G: Y0 ]: g. ~3 i: l/ v- ?& g" K8 `# [( J& `% ~. t3 y
#ifndef qdoc
1 L) ~ X ]: O( l2 {% @8 O9 [! t$ v+ l3 l- _. N; i( {" k1 v6 R
namespace QtConcurrent {
- h2 O& ?# ]1 j
/ U" P% G# D) Y1 p0 X/ _+ Qtemplate <typename T>
9 R) k- N3 h7 t! Rstruct SelectSpecialization% [9 b' q' k" f6 J
{% K3 ^' T) c Y8 K) u" r
template <class Normal, class Void>
. F2 r; f# J4 ~) J C) Z# I struct Type { typedef Normal type; };
" B+ Y. e7 o3 [* g5 \3 D};
' {3 D+ Z" j+ t2 E$ W% Z R7 N4 b2 d! \+ D9 l/ E/ F7 q5 Y& d
template <>- j4 s ]; ^0 }/ S5 K4 o4 q. J
struct SelectSpecialization<void>
, t& w% F2 W' N+ X @& b3 q5 |{) s6 y- k9 G4 b+ o/ }2 V" O6 V3 r
template <class Normal, class Void>
* Z5 u: o0 s7 p# o3 C9 }, E struct Type { typedef Void type; };
# a2 [. J0 O; r+ A+ e: c};( N w* E" l: {# o$ L
7 [' N1 ^ L% c# o( X1 \, z: B9 Utemplate <typename T>
3 w$ k" r) @" r I: eclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
- x% ]# m' [; J; ~3 P4 q4 x{- ?1 N( Z& T5 }) \2 K1 d
public:0 P0 l1 u) G0 ]1 q) d
QFuture<T> start()
& B9 \( Q# X: A# `, o {6 C- F$ ?) X% Y J
this->setRunnable(this);
# t, ~/ D& i. {; p7 U! I this->reportStarted();3 ~9 r6 n$ i# U, v1 Z
QFuture<T> future = this->future();
& n( ~4 a5 D+ f7 |: b- N! m QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
5 V* ~* B& D7 t/ [ return future;
0 Z2 z1 G/ q; y }% `/ J# m# W0 W* v
- |8 K$ B: x$ f- a; n
void run() {}; T7 c A _9 E0 V8 P! k
virtual void runFunctor() = 0;
+ ]+ }) J4 h! P4 O, x \};1 R& ]2 F* M& [" a2 b+ C* Q
: V* u# h& e6 Q- \+ I( Otemplate <typename T>
& F& f( a9 q4 r! z4 ^, |class RunFunctionTask : public RunFunctionTaskBase<T>( E! P( D% P, Y- s
{3 T, S2 g" n0 p3 X+ V
public:
7 e/ p5 f, F; v: g7 h1 u void run()! F. R0 L8 W1 q, S& h- h
{
( X3 B8 l+ X u$ Q if (this->isCanceled()) {
3 W& @! m j0 \ this->reportFinished();: E _$ ]' W; Q
return;
4 B$ [: F4 R* { }$ V c |. Z) t) X% ?' _! S. P
this->runFunctor();" p m4 B3 a b: t
this->reportResult(result);
+ v* b) H* Y# i8 v this->reportFinished();+ D. S5 D1 |" @0 v6 g. h, F
}
- G' ]/ \4 s" Y4 q; w5 B/ S$ Z) h T result;0 j) R8 K; b3 x8 R# n
};. k9 Y1 h. m1 u0 a, y
1 L4 e& n) p( Etemplate <>
, A C" `) [; Y/ ?2 x$ Uclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
8 s$ m& w0 G( y5 |* A7 I, w{
8 I1 L3 d/ w' E+ Rpublic:
7 W7 h ^2 t7 X8 D$ b+ [- x void run()
" I3 s, n$ R! }* A5 f2 T7 \2 o# Y {% `1 v$ C' A; T$ n. `6 J" r
if (this->isCanceled()) {
+ H7 ]! G) v+ N( v% `" m! x this->reportFinished();
. E5 r& {8 w" V# M4 v return;. G' W9 E; U5 N. Q$ s5 D5 L$ C
}
: v. U7 L2 p4 ]& o this->runFunctor();9 Z4 r4 U, D! D9 x0 o
this->reportFinished();; _2 w8 @9 S' y
}. _, J& g# w& b% C8 t
};
+ _! S5 t; P+ H3 h7 g0 O3 F2 Z
+ ?9 u; ?/ Q/ w( f} //namespace QtConcurrent
1 ^. Q- `8 d% e' o
% ?2 h, e4 d. X {#endif //qdoc5 O. P9 g% ?" N) e0 }+ |9 d( S
7 P& ~+ J. ]- A8 W
QT_END_NAMESPACE
2 a" j5 T7 v' o9 C" dQT_END_HEADER: m3 Q% C5 C; J- U$ }- k. F
, p9 B7 ^' |$ @9 _. Z1 [#endif // QT_NO_CONCURRENT" k; D/ Y6 c! q" b: r; F" ~
+ |/ R7 o& g0 |& Z3 p9 i8 F#endif
% I3 h7 J* Q. h" J" u, i2 v* G& [ z6 v1 W
|
|