|
我对syslink进行交叉编译到arm,但是出现如下错误:
X6 X S% g2 C; n, S: a/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
3 \# g7 o Q; \! J {: _- f* f5 U' {% U1 x8 _4 D( E
这个头文件内容如下:
1 B1 @3 @( m2 v: q' R: H#ifndef QTCONCURRENT_RUNBASE_H
9 o" Y# `+ U& {7 G#define QTCONCURRENT_RUNBASE_H, E6 g% ~5 a! M1 Y
! C) C0 Y0 P* N' E6 _
#include <QtCore/qglobal.h>
, `0 B" a$ E/ w6 g. t7 ?8 a. I" d
. |/ ^; y6 I6 i6 x9 Z#ifndef QT_NO_CONCURRENT
0 x: I5 c& P: G& y( U% ?: c
0 c3 g; k+ h6 @+ w: m#include <QtCore/qfuture.h>
8 ?" F- b2 R) T0 j% P0 P) o$ v#include <QtCore/qrunnable.h>
/ X" k) ^2 @' ]. q6 D* ?#include <QtCore/qthreadpool.h>8 @9 _+ a! e, {. \/ A! ?* T5 H; b
( e- ^0 \' n4 t" I% M( D) z! ~QT_BEGIN_HEADER& A6 s; g4 M6 z/ |$ O! X, Y) l: p% F7 ^
QT_BEGIN_NAMESPACE1 e8 F2 j( I4 k
# Z3 q1 ]3 V) n7 _7 ?
QT_MODULE(Core)
) y* I* O5 Y8 Y- q+ G8 Y' V' K8 Y! v
#ifndef qdoc
7 i8 z, c" [% k# \" A! a5 L7 G" V4 O
namespace QtConcurrent {
0 B- q9 i. {" o
- y1 v! p* R% V4 r' X" Ptemplate <typename T>
, B- N- G! _; o4 G" `% J T. G6 ^9 Istruct SelectSpecialization
, G2 _# S0 D5 R* O' h V5 ]5 S{
2 k; K! b7 W3 n; R* F template <class Normal, class Void>5 ]$ E+ v$ @( d0 f/ `% @# L
struct Type { typedef Normal type; };$ q/ ?! {* p3 y* v# H9 I. Y
};
& K& i& h* ` J$ a2 S
' c! x7 J/ N' S2 N4 P4 w$ ztemplate <>
1 P- J* T3 k7 k, bstruct SelectSpecialization<void>
% ]0 h* z1 M/ X' t{
# o. \9 G1 X `: d# U2 z+ h9 O template <class Normal, class Void>2 V# B8 u. w( Q4 x) c: j7 M# }/ P
struct Type { typedef Void type; };
- _1 @7 g5 P, d' d1 G};
+ X0 E- V% Y L
1 ^0 b {, p& y0 Z+ Mtemplate <typename T>
- D& ?4 i" u# ~5 L3 e, gclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
3 f# l* n) a# ]' ^5 q0 y{
5 U/ \" T1 p- z2 J1 _7 j* p% Apublic:
/ Z# p" `+ O& | QFuture<T> start()
' }: }: }2 _& D& B& K+ ] {
4 P c9 s4 D3 ^ this->setRunnable(this);
( M2 _: l( T1 T8 e6 X' C" l a this->reportStarted();
3 [& W9 x# C% ^+ L' H' ~5 K+ @ QFuture<T> future = this->future();! a& H" d0 g2 N' E5 |5 J. g
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);$ Q/ ]: g1 k. P2 E$ \* A- [
return future;
# S# Y* t# [9 l7 ] }1 h7 V& H8 e% W
t) r( b/ S3 j$ a3 F* G7 [$ }) k
void run() {}
8 ~$ w+ J9 w( L' a5 F+ R j virtual void runFunctor() = 0;
$ Q# @; Z! s* c8 t d% ]! n% O, C- _};
& c ~& Y. L w
: F* _0 x1 x q; k, u( L& L0 Otemplate <typename T>1 E, M7 g- E% N5 s
class RunFunctionTask : public RunFunctionTaskBase<T>' \& X: D' s1 i, V5 i+ g0 M; \
{
Q# E5 \6 K5 H4 U+ Z7 Lpublic:
$ Z' x% `6 Y2 v% G+ L |, c- { void run()8 x& V$ v5 e4 j. S
{
% f5 e. |/ R( m$ Y, T if (this->isCanceled()) {6 V) c9 L2 Q3 @- Q& v; T
this->reportFinished();6 K& p/ [+ a# _. t% s) q
return;
N, F! y ~ g. i, a: `8 U' r }) e7 p% P0 u/ f. S. D+ X7 `% P; M/ J3 N5 n
this->runFunctor();9 t9 ]2 O8 C) E
this->reportResult(result);
2 Y# a1 C* U/ G6 F0 w6 j8 m this->reportFinished();
* u' U" ^4 S: m }
5 R& o& i: n; _6 E8 I T result;
! N4 F! x- M* f; D};
% U' O8 k" s, J* W8 H! f6 k5 u: V+ ^' k: P4 O5 A& ?
template <>
0 c/ w, a8 N) O4 pclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
! K- R y6 F/ b3 M{& U! W% T, X- `- t3 Y ^
public:# d$ ^+ {0 k4 ]8 r8 v
void run()
, U; L9 P8 w* ^ j% Q; w5 e* f { P6 N: M c& z# ^( F
if (this->isCanceled()) {
$ [* ]$ z( b# T1 C this->reportFinished();2 J9 z( B4 f! l/ U3 v+ ~. ^
return;
7 g+ `4 |, B1 v( a }
6 o2 L% M) _; ^/ _6 ]- q- h# C8 _0 q this->runFunctor();( h( \2 D3 [0 O k7 i# N. L
this->reportFinished();
1 g% k5 N* J/ I2 M p; r: d1 V9 M }5 l3 {& `6 I$ F( t
};: \; L3 D" P2 E
6 q3 S9 n. B8 Y9 L/ h
} //namespace QtConcurrent
$ @$ L7 D9 v3 C# ` U1 h; v E& A& {+ g9 y# m
#endif //qdoc- y C3 G, K1 D6 {) |
6 H$ d5 d5 Y4 S: G8 d# d+ \QT_END_NAMESPACE1 a1 V& v5 Q) w' t1 R/ r9 C
QT_END_HEADER
/ {4 i& V# n2 t# \3 Z& [
9 T T" O. H/ `( b& q2 z: W#endif // QT_NO_CONCURRENT9 r( e) i6 c, n7 ?
5 k1 L0 |( L& M#endif5 t3 V* W6 {$ X; ~2 L9 C
* ~5 L/ k" G0 U5 w# n0 q! s
|
|