|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
+ B. o( g2 z% S8 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'( q0 g( T5 X' C( R
4 e7 \" s" B" b# {* ~
这个头文件内容如下:
! u1 w8 z$ N6 v* ?) b- j) W0 z#ifndef QTCONCURRENT_RUNBASE_H" Y; y: p* N; [( I _
#define QTCONCURRENT_RUNBASE_H' _# X% h0 Y) x4 E
: a2 c3 _1 R" C+ r) @
#include <QtCore/qglobal.h>( j& s3 z) i, ?9 R: s# R
( V7 l% p. X! Y. \% s
#ifndef QT_NO_CONCURRENT
5 q3 ~# z3 i& H1 N- e" \
5 G: B- E7 q& d, j. i# R#include <QtCore/qfuture.h>
. p. G& F, C: l/ g3 s#include <QtCore/qrunnable.h>
6 {3 F% B, z R6 c5 h' \#include <QtCore/qthreadpool.h>7 B- D0 V0 |* H3 _2 V1 _4 w; Z
0 m1 g6 _& M% |, J& Q2 t! YQT_BEGIN_HEADER
& _9 X+ Q8 x, L2 C3 v* @( L6 MQT_BEGIN_NAMESPACE
- U6 M) ]) n5 @- ]$ j) T. ^/ s0 k5 a5 v, `$ Z1 f3 c
QT_MODULE(Core)
/ o% G! V* { p4 V; c
' q# x/ g3 S0 c) \2 \9 W#ifndef qdoc" s, ?; T6 H/ [8 g) h3 a( J. {
* b+ G3 t, ?7 e1 l8 z3 f6 m5 O
namespace QtConcurrent {
7 b8 t: v/ W0 s2 H8 w7 u( U3 c$ _7 [ A" ]5 R! @5 [
template <typename T>4 h( ~' o) Q; h' G- r
struct SelectSpecialization$ Q7 Y5 r- t9 T
{
) i! u9 \8 Y- a, ?: S7 O/ B/ }" J template <class Normal, class Void>
; S/ ]; o! s* ~ struct Type { typedef Normal type; };4 A) ]. x/ i3 ~. m+ ^
};5 ^. o, \0 F% O9 }
- V/ w7 Q" O3 V' Z2 ~0 V
template <>6 f. a9 _! m8 B+ o
struct SelectSpecialization<void>
5 W, A; s# t. |; W{, E5 M( o! E, t5 j# h* L
template <class Normal, class Void>
5 N' d2 {, P( C2 Y: h l) q) f" G struct Type { typedef Void type; };: z7 X4 Y+ @; E6 V$ T0 z7 ^1 f7 j, l
};
; N+ I; ]- p% d* Y/ ?7 p" q8 j* m
9 x" r8 d4 K- ~template <typename T>
3 S, L' h3 b- e1 ^" W9 b% d* bclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable, Y% e4 t9 b9 t7 n/ b& i$ H
{+ V! I/ |1 }8 o" O' N
public:
5 J, Q. |3 ^ W3 ^& j QFuture<T> start()
+ {( p, S% B# A) {0 a: d6 y# \4 g {, V% y5 G# }2 f0 ^/ J" u
this->setRunnable(this);
5 {& E3 \% n" C$ M this->reportStarted();' I% C0 X; J' ~
QFuture<T> future = this->future();
4 m9 f9 I% `3 | QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);' U6 T4 O2 X; X% Q! V$ S. h
return future;
* D- z" _# v5 C }
1 A" a' Q4 I8 Z1 E. F5 b# m, [' J8 I. P6 [0 u* t" Q' q
void run() {}
5 W' e0 H; d! I virtual void runFunctor() = 0;
, U6 f9 |0 F% j) \};% a+ s& M/ T! y& P8 P! I7 q# U
! H4 q8 J5 U. L+ y& r& k
template <typename T>+ u! J9 u! b- ]7 ^) y
class RunFunctionTask : public RunFunctionTaskBase<T>
3 i( w) [! Y* g b{- C# C8 I7 k0 c5 ^
public:
, R1 ?; `1 V6 j& H0 q l/ h void run(): E1 u7 M M' F$ K
{
: S3 |( Q; Z; x( Q- z) x) [ if (this->isCanceled()) { g; [, d: j! x% \: j6 c
this->reportFinished();; d! f" h+ A8 }) Y# P; j
return;; Q: H! z- R+ @6 C7 r8 B# f
}
& \$ f: ]. v5 L6 z9 @ this->runFunctor();0 `* g" q- C! r9 S
this->reportResult(result);4 l G/ ~2 q1 r5 v$ s' Z
this->reportFinished();: b2 H$ F) S- u4 L: V$ M: ^
} R6 }5 k9 d6 M$ Q; U9 q
T result;% \7 R$ Q; I) i1 h7 Q% q
};. O) Y% Z4 `) m- z/ A6 N0 Q( p" l
3 R* Y( q0 ^6 r" S6 q! [' ytemplate <>
5 b% ?# V7 r2 z$ b0 Uclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
8 x+ X+ i) G6 k5 W{
: i9 L$ T9 r2 q( V/ G- \9 dpublic:
2 c% I; y/ R% H5 f9 e* g1 Z* k) i void run()
% v0 E; [7 `" q3 }1 @0 c4 a! @ {. J6 v" q. G, [ i& b
if (this->isCanceled()) { ]3 f' j- f; [- Z3 X6 n
this->reportFinished();
9 g! V3 B# I4 h1 C+ C return;) x A8 Q: h. A, Q
}
5 k. `" Y; K) e4 \" K6 H0 p this->runFunctor();
0 Q0 J+ `. M9 h. B% r$ A this->reportFinished();
1 v3 K& f4 W- l) f }
' c i7 J+ R! F2 a7 _9 \+ J};0 Y7 L9 X+ i% k
! B4 _6 ?) h9 u+ G} //namespace QtConcurrent8 D- \( l+ s" o( ~8 R3 j
; X" c( z4 B1 ~0 N4 l/ O+ @#endif //qdoc: e. s/ z: Q/ I$ s2 M1 K, b' t
! y7 L& U* J0 v; c9 A: I
QT_END_NAMESPACE+ _5 Z2 h/ H4 n& l' x2 E# z
QT_END_HEADER
( T. _! d& P a4 ]# j6 ^4 N+ T( p% m1 W$ f# W1 ]2 e
#endif // QT_NO_CONCURRENT
) V* C) }) n4 P) `2 }9 @4 |7 a
8 |2 s$ `/ C" G' w6 F2 W/ Q#endif& C. u2 N. R5 N5 M2 s3 f. W, z( N
5 y5 b0 q" L, C
|
|