|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
5 o2 y3 L+ q! u/ C/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'" B" o; k( z( t
: b1 S% i8 s6 l这个头文件内容如下:. C: R. \3 O6 ^. M, I
#ifndef QTCONCURRENT_RUNBASE_H" e' {( x8 D$ j8 `4 A
#define QTCONCURRENT_RUNBASE_H
. ~$ v; J) f: D( q* I7 b3 ~* U* _5 ^( t1 W/ j n5 ?
#include <QtCore/qglobal.h>
5 @) a3 c5 H2 \! k, Q) }4 n
6 a1 Q! R# w/ r: B* m7 l6 z#ifndef QT_NO_CONCURRENT
9 @$ r7 h# i8 O# g) f9 s3 g7 c X3 \6 k/ U! J
#include <QtCore/qfuture.h>
; V; }& T) t5 H* R#include <QtCore/qrunnable.h>7 l$ P7 @4 \$ n3 Y
#include <QtCore/qthreadpool.h>9 e! k( t" J" W4 U8 I1 s/ S* C
# h+ ?" f9 `5 M: u, sQT_BEGIN_HEADER
5 W, W. z- H/ N2 d0 R$ eQT_BEGIN_NAMESPACE
) H% z7 [+ a) V+ Z! E1 K- f: [' K6 b# X5 }2 K
QT_MODULE(Core)
L4 j0 k) | Q# ~: W J2 a8 @7 h$ v' W- Q9 Y% @/ `. r. r
#ifndef qdoc+ k) c6 _ X8 }2 }
1 T8 c/ f/ K1 }. H! [ I) R- ]namespace QtConcurrent {. z. e" r9 U# o: Z! W
8 [- }8 I# c+ |# o0 T
template <typename T>7 a4 ~2 Z7 { T- A1 p
struct SelectSpecialization$ v8 S7 e! [5 Y3 N5 q
{
4 `+ v3 f) J. g& }* l% c6 j5 u- m template <class Normal, class Void>
2 @7 P5 J5 x7 o* F" q* V, O struct Type { typedef Normal type; };
: ?- W9 I* k$ t! g1 F. d};
* a& X) Z& T* U4 k1 x0 U4 N& b
$ {7 x6 J0 Y- Q# e' j4 @* [: ftemplate <>
% ^% _- X2 u, qstruct SelectSpecialization<void>
d* V: W- X9 Y" X+ q$ x{: P5 L% i3 |+ M" e) e% p
template <class Normal, class Void>! j" k+ U3 K S4 ]% }5 l6 B9 N
struct Type { typedef Void type; };6 `7 t2 g- e o3 V4 @, M6 ?
};
6 S& m$ k! }' X( e/ E8 A) x% \4 N5 Y( g7 f7 f" \
template <typename T>" g8 }: f9 C8 F# l2 y/ p
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
6 M8 S- e9 ]1 I{
* H0 U& U5 E8 `9 I7 Y9 {public:
/ ~8 l0 W+ k l! T+ x, F QFuture<T> start()9 r8 F0 X1 O/ {8 Y
{9 k6 g6 R7 M' [
this->setRunnable(this);7 T' b X0 U j5 T; \9 s
this->reportStarted();
: ?, b9 V) W) g- H, {: H4 X QFuture<T> future = this->future();
6 o! Z# u5 q. X& J' y QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
4 v0 b' K# E2 R+ y& W return future;
1 ?+ h. T. e4 ] x' V }; @6 G3 j0 U3 N. n2 ]6 x
4 @- Z: h9 u+ Y' Q/ Y* v
void run() {}
% z* ^9 V; g, _9 G virtual void runFunctor() = 0;
1 o3 e# \0 \1 Z};8 K# _3 N* j6 o. r8 ], [9 |4 l
) x. J7 s0 B. e# J( ^# r% ~) s, Rtemplate <typename T>
* Y: C' v) S( ?( eclass RunFunctionTask : public RunFunctionTaskBase<T>3 a& C( c" H1 f: e* K
{' `, k* G( a8 T: F6 t
public:' }) Z, n, s! u: K5 x4 I2 |
void run()/ x, v8 L4 s" m& G" A/ N
{9 B" X* o! {+ T
if (this->isCanceled()) {
8 c3 D) j9 m7 X5 ? this->reportFinished(); q2 u' V1 o1 D0 Z9 U+ C" k
return;8 Y. @" U) r; q4 e c
}
* \# s2 D, G5 X4 p6 x. G. {# n; J this->runFunctor();
1 f# l/ P% i( i# y5 c this->reportResult(result);, Q- B7 _ }6 g
this->reportFinished();3 m) A8 e2 {6 ]
}
: q! o: P$ e! w* |0 d) B# |! r; p; y T result;: h# a' e3 S; r, b: A
}; B2 I4 g2 B: R& G5 h- G0 Z1 f+ a
7 o8 E: f: H7 D7 [
template <>+ ]& M! g, h& L6 q, |
class RunFunctionTask<void> : public RunFunctionTaskBase<void>" ], ^3 s- C! _6 P- D, | t* M% y9 r
{) X+ s, K! M; \: S0 b9 y# Z* q
public:
1 J& C8 M9 j# Y7 [! I/ `9 C N1 Z void run()
# n% f+ N/ r* ]6 N. r {
- s. r# g! \/ O3 K7 z& f2 `7 V. E if (this->isCanceled()) {
' t. j, ]" C0 i3 A% v. l7 h; Q this->reportFinished();
9 f2 M% K& S, ]6 H, N2 [ return;
% x' M* `5 T2 n; q/ @; i) L8 S$ l }6 W, B: i3 J* q$ r3 e8 R
this->runFunctor();
1 v1 D; g' @, l6 p this->reportFinished();
* G% [. G; ]9 {# F# c1 X7 z }- e5 x& |8 M7 H
};4 i2 ~/ V- i# o0 P0 N3 _
! s- [% b; ^1 ~# S} //namespace QtConcurrent& g8 [$ ?# l0 Z) i; \# _
# A2 d% N% {. j) \
#endif //qdoc1 E; p4 C/ M( l8 |( ~8 J
% o. Z. c) f" @9 L8 }
QT_END_NAMESPACE
9 T3 E+ d5 B8 TQT_END_HEADER
/ w7 M, `2 ]# j) q8 `( j
* V9 P& l8 [; d0 O; A' |0 [#endif // QT_NO_CONCURRENT
; Y# g- d- F0 x) O! `1 h: X) H0 n
; B# z; W/ V6 Z% h& h5 o4 }#endif
1 x `* h! D& N ?" |4 a/ M( x) u$ i% P g# h5 _( }
|
|