|
|
我对syslink进行交叉编译到arm,但是出现如下错误:: O- b+ U) V" l# Y# t
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter') i2 T+ x: s& [' E/ [
1 d& h1 S0 k1 M$ P- f. B' l1 X这个头文件内容如下:- g2 Z7 e P" D. c, ]5 \
#ifndef QTCONCURRENT_RUNBASE_H
6 }4 C, g8 J% P: F% ?#define QTCONCURRENT_RUNBASE_H$ \3 S8 |- \* @" C# c& [" n& ~ ~2 k
9 \" w$ w2 O3 h$ }* D) |
#include <QtCore/qglobal.h>& @# Y" N/ ~' P& i
- O0 P5 T! O6 ]2 K4 Q#ifndef QT_NO_CONCURRENT6 ~ z% z8 K3 b2 o- Q3 i
5 s% [5 Z1 u5 m5 [9 I0 j
#include <QtCore/qfuture.h>0 N) V/ `( S( y8 O
#include <QtCore/qrunnable.h>
9 a( d3 X4 e1 h#include <QtCore/qthreadpool.h>
& c! c9 Z5 [/ d! b: T: T4 n/ g+ U5 s" P2 r
QT_BEGIN_HEADER% l2 v' v- C4 y2 L; y
QT_BEGIN_NAMESPACE
, Q# @% B2 q9 H7 P# }; }* x* C6 v
QT_MODULE(Core)* e2 L* W% K9 l* x v
( C8 G6 Q: ^4 n- x! p: [#ifndef qdoc2 U# X! J9 K; j& o
4 q% D# a4 @( R$ J" R+ @0 h- cnamespace QtConcurrent {
5 A3 ^1 w3 B4 x8 H) l, t6 t; i: L+ H8 ~8 E6 P! I9 E
template <typename T>8 A9 B2 g, |1 v% q* x2 ~
struct SelectSpecialization
4 q+ M. s( u% M8 z! X: {: i. s% m( Y{: i: [1 z% b3 z! k0 }" _
template <class Normal, class Void>
/ C4 C8 U, ?1 W3 Z struct Type { typedef Normal type; };+ L# k: S Y- q, C1 t
};
. t0 ~% _. m+ G \/ G9 [6 Z/ R2 J! j3 f5 {9 ?4 c
template <>; Y, f6 `3 n" `! ~
struct SelectSpecialization<void>% u2 D( p: t k$ c5 F; ?
{
' j3 S+ s i n8 f } template <class Normal, class Void>1 v% x0 R& \& n2 _
struct Type { typedef Void type; };
' D' _7 x0 i6 B: u6 {! n$ B};
3 C: R" g3 V2 p; |( M. I: W% I1 e. V; F9 I" ?
template <typename T>
7 T3 M3 c) ?" h" P2 E& cclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
. m0 ?- U! x3 e. u# F; x{4 w0 B, z1 U5 q& I
public:
1 {1 ?, u7 w6 y) w' G' E$ r$ M QFuture<T> start()4 R, _. y. i5 h# ~
{# |! c8 x5 f2 [9 m
this->setRunnable(this);3 c3 b) b+ k. i
this->reportStarted();
# T, x5 Y2 D v6 k1 \2 K) ` QFuture<T> future = this->future();
" V# G+ z6 {$ d8 P% p, g QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);* Z$ u7 l5 E. T7 V5 _' }2 n
return future;
% P ^" A; E6 n" A! _$ j }
- u" h7 ?* s7 Y9 r6 w5 O% y i# ]8 e* T; K
void run() {}' J# ~+ u Z/ O
virtual void runFunctor() = 0;
9 e% A: Q" d( w1 Z};
" g# w3 U8 y, L' L, q N( M5 n: z' P) m2 Z9 Y; U
template <typename T>
, Y1 R% y6 ^" xclass RunFunctionTask : public RunFunctionTaskBase<T>* W. n1 N8 i4 n H5 g
{
$ u$ E5 f9 A' W5 p" y7 q0 Mpublic:
* K7 w) G! C4 z void run()7 `# v0 p2 H; E+ S$ Q
{7 b( Q9 U6 g8 u& u/ m4 w6 G
if (this->isCanceled()) {1 z' n8 C# A9 s. `
this->reportFinished();2 U& |+ u. F. v# j0 v7 U
return;* _1 V$ U3 y7 r! B1 p! {/ i
}
# \; D9 l1 s# Y. _5 ^/ d this->runFunctor();
7 Y# f; Z* I2 y& C& T$ T this->reportResult(result);
; k9 C y* I2 b) w" A this->reportFinished();4 X, Q" t: U6 W+ G! w" z
}) I- W3 k' L6 T. h3 c8 E8 n
T result; {' c3 H7 W) T) e
};
) t# i( |3 M8 [: o0 i
2 m# [( { F4 G- ~template <>
' [5 |, x e: @( Yclass RunFunctionTask<void> : public RunFunctionTaskBase<void>0 y7 @5 F) o: P9 W* m) H) m
{
' S/ q5 T* i) gpublic: ?; p' b: G" W
void run()
" X- l9 x3 ?4 ]* S Q {
& m: e: [% B, K. o( D \ if (this->isCanceled()) {
; d! z5 { [) X9 o this->reportFinished();9 a( I2 V$ T! I, M# S* Y( z9 Y# K. G
return;: O8 |5 l0 Z. d" N j" n- b# H
}
- g5 w% ~2 I: a. m z) P6 C- g this->runFunctor();5 a- P6 k! N% {' L2 ?* W
this->reportFinished();5 |: _" w# T/ E3 v
}
/ M! r9 c; I; T! }/ m};: D; f& Q/ G; L( X
6 r% }" Y: f: X: q} //namespace QtConcurrent2 Y) B* A6 d) O8 t- V/ }
8 Y, J7 A4 q% p# {7 F# e4 ^
#endif //qdoc
* v8 F+ `$ I4 J# N+ w
1 a$ g4 l7 ^9 q- x: TQT_END_NAMESPACE: ?: ?. p9 \1 r& q8 J$ M/ z
QT_END_HEADER
; f8 q* [3 a, g! r) Y1 |3 C- N
" f: K% u+ l. r7 o#endif // QT_NO_CONCURRENT5 H r+ U C$ r1 [1 q2 A; C8 G
1 z U/ u( d/ ]" _) e, A
#endif; I6 P0 T* d$ G# q+ _* n
" @, q' g x/ P" K7 Y9 W; N |
|