|
我对syslink进行交叉编译到arm,但是出现如下错误:# U. G& f# h* Y. V
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'# y' r9 |* v0 v) e. P
$ K' t% T) s d! m% I1 g% D这个头文件内容如下:
) ~5 Q1 Q' G4 e' d#ifndef QTCONCURRENT_RUNBASE_H
$ ?1 a D1 p- M7 L! l7 T& _#define QTCONCURRENT_RUNBASE_H
7 y& q9 t: c- t6 p6 L# F3 X- v( X5 i- j- U5 z) t
#include <QtCore/qglobal.h>5 L w/ ?+ X- J/ @# Y
* _9 `6 i& p' \/ O' F
#ifndef QT_NO_CONCURRENT
W9 r& I: l- Z* h4 A
# M* Y$ W, g: B8 N4 R/ ^5 `6 e#include <QtCore/qfuture.h>
" _' q4 m4 a/ I+ e# U) T6 E" m#include <QtCore/qrunnable.h>% ~! y# _2 v& W: l% S
#include <QtCore/qthreadpool.h>( @$ n& H' B, y) |" s6 D
8 R9 p/ N! d. u/ _: X4 r& r9 pQT_BEGIN_HEADER O% }+ N5 {% S' k/ t: W5 s( c
QT_BEGIN_NAMESPACE, E5 |9 D3 k" e7 g) H+ Y1 h5 R
! ~, A7 D/ _8 s) K+ G% g$ A* D
QT_MODULE(Core)$ q8 Y* A7 ^1 ]: `
) U* |2 ^0 ?$ o6 ^' g" }' _8 L5 x#ifndef qdoc& M$ J% Q) H% [4 A* R, {- u
3 L7 H! q: f! ]. a
namespace QtConcurrent {3 y/ I i& B- f8 a' o. d
" U0 s+ H$ S, Y9 e/ x: K, @
template <typename T>
/ Y. n& R$ Y5 {1 a. l5 z$ Dstruct SelectSpecialization) n# l" y* [0 I$ r8 ^
{. C$ ^" i4 P7 @& s2 ^
template <class Normal, class Void>
3 V' i9 ~) o* y: h struct Type { typedef Normal type; };
) P5 H# S, e( j% U: B/ Y5 ~};
5 P& Z! s o# s) X0 L; L- [% w
template <>
8 Z+ ~4 z7 f% r) L" Rstruct SelectSpecialization<void>
- C6 Q8 @# h3 L{+ Q3 V* K9 F; O+ N
template <class Normal, class Void>
8 C2 G7 _8 p1 j struct Type { typedef Void type; };
S3 x- ^3 |( G# J3 V$ n3 Z};
1 @* @( j& {$ C) d, S$ U0 ]% h2 c; j Q8 X3 l, C4 j! P! E. T
template <typename T>. i" {: Z3 y4 T% m* Y
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable! t8 ~/ a2 [5 Y& a5 _/ B
{
, I2 E/ X8 q+ X( wpublic:
# y; ]4 y5 a9 P1 t QFuture<T> start()
# o! Z% V z1 j {+ e( f9 E5 z6 \. z9 j
this->setRunnable(this);- u/ R: Z! t" S5 ~0 E' D1 s
this->reportStarted();8 U. V8 m! V+ g( g9 l2 @2 b
QFuture<T> future = this->future();
$ \6 w z2 w" q QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
: `/ L# y h+ t. e7 S# L return future;
9 Y8 L: F c: f' V T }7 ^0 B, V5 H& l% |$ z+ U
$ d% a" e8 z' @# r
void run() {}
: g6 M2 w4 W) ]7 m virtual void runFunctor() = 0;- @- l( D, d! C. R6 e' n4 f/ H
};/ T. ~& k l3 y% ~5 |- b
" u* P* P! [3 m2 ^6 a6 Etemplate <typename T>( W0 w. i% h; n) U8 S5 I
class RunFunctionTask : public RunFunctionTaskBase<T>
! T9 o; t, Q% h/ s1 [! Z+ b+ U{
# k* s) q2 r5 q0 _# `0 Zpublic:
$ D/ K& V1 l( \ void run()
) l, I9 E8 l- N- Y' P+ ? {6 P$ P6 v& m. W" I. ]% T: c
if (this->isCanceled()) {9 y/ Y8 {. M6 `/ Y1 M$ F$ t2 f# d& R
this->reportFinished();. V; i5 f' }5 |0 A# i+ @
return;. h; a% R. K# ~7 `( B
}
+ H% t% Y9 R, [ this->runFunctor();& M2 {+ `3 Y9 m o
this->reportResult(result);9 d" l! b9 l8 W5 G2 W3 O9 A
this->reportFinished();0 U" c: `- N: d; B" H0 r
}
M& _" @! E: X3 q0 j* Y" m2 D T result;
8 [& s- U8 j* x7 _};$ q1 M4 g) F/ j" w7 Y/ ^
& S0 ~# S0 J) q+ s! S$ R
template <>: X. D& a4 n# ?0 R+ f! f
class RunFunctionTask<void> : public RunFunctionTaskBase<void>; \$ X9 o* K- g4 s" [
{
; J9 s6 h4 L) Y) h7 A* tpublic:% K1 N" u! T- g0 T$ A4 B
void run()
/ @3 {) T4 r9 @0 n a {7 O9 E" F" M9 [5 ]9 |5 D' |5 ? G
if (this->isCanceled()) { `- u& ~, L ]& \
this->reportFinished();
& Y' T& |. X) o6 V' `: V: C2 p return;
, h3 d# U) d. J }
3 p! R2 i: t% U- _6 q this->runFunctor();" {/ q$ Q' {, A$ L2 |, v e
this->reportFinished();/ l# g3 i) _) f: q
}
) }2 m6 o; o; n5 o( U};5 z7 U. _: a) S; P5 q/ ]
+ z2 A2 j- h; ?( K8 \9 u! R' U7 t} //namespace QtConcurrent7 I" Q- i7 ^! K4 \1 J
8 ~1 T4 Q; u+ C) ?8 }#endif //qdoc3 d# J7 P& K# l0 T
( D+ O' }# r3 p' V
QT_END_NAMESPACE1 H7 B$ U) F1 {9 {9 K% C$ t! \/ r9 ]
QT_END_HEADER
8 ?! l& c: Q, ]# V" ?" e0 E! Y, l- O4 b9 S: d6 I9 K
#endif // QT_NO_CONCURRENT; v8 ~) s/ ?0 a4 E" J
) _: i, m2 N: D$ S( u9 Q#endif
& ?3 q; b3 ~) C$ s2 I# J9 S2 c+ M( X# q) o% {. D' O
|
|