|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
5 N( ^# Z5 N# w$ ]/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
4 X$ r9 w/ l* Y$ P/ i( @
7 o# K& A2 ]% X' s) W) x这个头文件内容如下:; g% W- i8 [ y
#ifndef QTCONCURRENT_RUNBASE_H
6 M3 d7 |) g+ r; u* l) E#define QTCONCURRENT_RUNBASE_H0 o6 b9 d6 O+ x! B' |
+ j) v6 Y/ l# N' M8 d
#include <QtCore/qglobal.h>2 j7 W9 N6 @( g" p/ `4 [' L* {
* s7 t; S2 G5 b
#ifndef QT_NO_CONCURRENT2 B' b6 Y$ ?2 a7 c
- C9 `) b& N" n6 U" f9 w, U
#include <QtCore/qfuture.h>' v* Q G& E( g7 V! k: y
#include <QtCore/qrunnable.h>. |/ U+ r4 S4 ^2 `2 O% ~3 t
#include <QtCore/qthreadpool.h>
" E) w; G* |& h6 A* j0 O0 _% O' U' S0 F& z" q
QT_BEGIN_HEADER- [8 x& J4 K3 e6 ^. G! {; ^8 p
QT_BEGIN_NAMESPACE- @$ Y3 }& u9 k i
+ S; X# I7 g: vQT_MODULE(Core)
6 A! H9 c& }; v! Y5 S1 e
4 r) f6 {" w& K: `#ifndef qdoc) y4 U. N& k0 B2 A1 b1 f
/ ^ e& H# D! S: dnamespace QtConcurrent {, U8 t9 N, d/ K' }' i8 ]
$ G& o1 m- c" T- i, @/ ~- n7 }template <typename T>
$ i& ? |# r2 i) gstruct SelectSpecialization
9 m1 {4 p' k$ n* n7 T{
9 @) K8 D4 i2 t$ m template <class Normal, class Void>
# {- Z6 q. o) k: U1 R$ F: { struct Type { typedef Normal type; };
3 \) @* J/ J$ R# v t' w9 d};) [+ a% e; z' X8 I1 H6 s" A2 [
# k: `& y2 k x3 P* \" X" K% b P
template <>
5 N4 C6 X9 X1 b, _struct SelectSpecialization<void>' m6 }4 W4 ^# q% e4 b3 f! C
{
* C- z8 }' @7 m9 b template <class Normal, class Void>- Q& Y5 g" e) O" @
struct Type { typedef Void type; };
8 q1 W t* \- _( j2 S};/ n& z: i" j% U% q) A8 m
# _1 u; `8 j! e3 {; e5 @% z
template <typename T>
# T4 K2 O. i# m% B/ Sclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable$ l# z9 X9 @, e) }6 J
{
: x, i( u: l* s+ `7 |7 `public:
5 I- w% |$ u- b$ o1 j5 f QFuture<T> start()
3 r: B2 w. O" W& A9 Q {. p# R* i2 Z- D' g8 H2 }& ]; k, ^( @/ @! z
this->setRunnable(this);/ h3 U! [! X( S6 M
this->reportStarted();5 d8 W+ |7 U0 E" M
QFuture<T> future = this->future();9 U" c" M4 H/ X% y) Y3 \ W& I6 v
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
% A1 @. G6 c/ w( O) _ return future;* r( T- }: v# _; w3 E
}$ ~8 e+ [( i2 }1 K
8 K+ L7 I$ N5 T( u+ Y" ]' v
void run() {}
0 }! l) Y( ~5 L virtual void runFunctor() = 0;
5 \4 @: V# G ~3 G* F0 l0 ]4 u};
& A, e; E7 l3 U2 f: _2 `" b+ f% x" i) L
template <typename T>
6 A% z" P9 L1 m4 G$ {' |" f5 Yclass RunFunctionTask : public RunFunctionTaskBase<T>
' V8 ?; ~6 l0 K5 @; ?% Q{9 Y# {; Y0 D' b9 N0 I& `
public:
6 _7 {! ~5 h% o1 Y void run()
9 q8 r; ^ Y% e. \3 d2 M- b {: T2 x$ E u; h" W1 s2 I! m
if (this->isCanceled()) {9 {% y* g+ k6 x; y" p6 h$ X' P
this->reportFinished();2 t8 H, D1 f/ V, m/ P) h1 `" k
return;
2 p/ y( t) V3 L }$ Y- o/ I6 d! z$ K& a: ^5 i
this->runFunctor();
" J+ p7 X0 b1 T) V+ Y this->reportResult(result);
. ?1 }# v+ }; k: Y3 t% D this->reportFinished();' _, R5 }8 h+ a Z8 v4 f7 F
}2 g) A' B" H$ }4 o' z4 I( E5 p, R
T result;3 A/ F( _: O+ U- b1 w$ x
};
8 z3 b8 }$ Q# `4 Z
* n0 j3 _, n& c( R; \+ Btemplate <>- @! E0 i& s3 j+ b1 V) I9 `
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
: P( N- j: ]6 Y+ O{
! y7 s2 K6 Y0 |8 T7 Lpublic:4 P. P: B' ^1 S8 T H$ _+ u- L# r
void run()" K2 H9 K U# A* T1 r" ~& H
{
5 i x0 s. p: L' h if (this->isCanceled()) {1 C7 b+ Y& p" _$ B) Q4 R% b& o6 H
this->reportFinished();
7 U1 y$ ~, W9 w. n return;! i4 z5 j% x T: r, C3 N h
}! V% Z2 S( S( |4 M' F1 R4 e3 w
this->runFunctor();
1 I) W) W/ _7 y/ ` L9 c this->reportFinished();
+ O1 O; ?: j5 d }9 k6 t/ }. | ^
};
3 u2 E/ L3 L7 v4 {: G% o1 B4 y' x$ e* a8 A" @- ^" q( ?
} //namespace QtConcurrent
l' U% V/ ?9 s* `8 M0 z3 b6 E2 v8 G- R1 x% s
#endif //qdoc0 d1 h$ f$ M0 |" ^# j
6 F$ {3 T) k9 G7 Q
QT_END_NAMESPACE
: V9 d0 K6 G# p, @5 g( |* U1 M- K% YQT_END_HEADER
2 t2 X" ]9 b0 T4 d4 G% E+ o4 }" T3 j
6 }& q% } M2 v% h( B6 w6 d#endif // QT_NO_CONCURRENT- b0 P( L( J; G# m$ q4 [
2 d& s5 ]2 ~3 Y: M2 C9 y
#endif! {0 j1 h% X* A$ R" X$ P+ |
2 a+ i3 x2 I0 o7 \
|
|