|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
2 n$ G: f1 {. |6 ]5 b' K/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'% l4 d9 `# g2 N+ Q/ n
3 [; J! S, g+ Y) j0 _
这个头文件内容如下:
! [4 F, r% J$ J2 r0 ^% b# R' J#ifndef QTCONCURRENT_RUNBASE_H
* ], r) t! u: o6 c: k) B" X! G/ v4 F#define QTCONCURRENT_RUNBASE_H
/ E6 o" U `8 [: L
/ A7 K) ]' D% v3 ~) J$ A#include <QtCore/qglobal.h>' }3 g) d5 w9 b
/ A4 Y/ n, |! w. h" M% {$ c! h8 o#ifndef QT_NO_CONCURRENT. ]3 k1 _( D+ t
# _. j6 r% Q1 |; ^/ a% M
#include <QtCore/qfuture.h> y8 y9 c+ Q6 \/ s* d: M* n/ `1 r
#include <QtCore/qrunnable.h>
+ Y7 U- c/ i, N- A* R, Z#include <QtCore/qthreadpool.h>6 N" H" f7 D# [: v, D) }! k! k
; v! ^( B3 o# y
QT_BEGIN_HEADER
9 Y0 N2 ^ \; F; X# b7 f4 {" ^QT_BEGIN_NAMESPACE
5 w; V6 o6 e5 A6 a6 d5 g2 P4 M" Y8 n2 ~7 A$ A& T1 S8 C
QT_MODULE(Core)* C% s. |# T5 O: e! C
- K( ?4 O& @- u#ifndef qdoc8 ?& G; ]* d o5 Z
8 d' S) Y: Z: G8 ^9 ?/ @
namespace QtConcurrent {6 j" T, F" x9 Z4 V6 D$ ]
7 d1 Y+ t1 ~' Mtemplate <typename T>- d& S/ H* K1 {- G: C& {' |
struct SelectSpecialization
$ u7 ], S0 X4 l& Z7 Q2 @6 F6 c9 v{
9 u- u) \2 Q6 C template <class Normal, class Void>
( [; O3 m" M( s z1 R struct Type { typedef Normal type; };: ?: I! J- }# x$ T4 D! e W7 P' Y
};2 v5 ?+ ~; n3 z
& N4 m" W- U2 ]3 |template <>. m! {0 ]6 ?! w- R
struct SelectSpecialization<void>
9 u8 b2 v T/ M) g; n{; {6 K' Z* {: n6 o6 ^* o
template <class Normal, class Void>: [ z& v2 u6 q
struct Type { typedef Void type; };2 A4 b* S! r. ~5 A: T- [! c9 B8 g
};- L. X: A% X4 |# A8 [0 w
# n5 j3 l" `9 j8 Wtemplate <typename T>
3 V% t: _& y5 iclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
5 v$ g# \& n8 l{, \) O& w( l& N7 t2 R+ |
public:& C" J* I, ]) a0 r4 Z0 p
QFuture<T> start()% Z, y* K4 K" g' Q- [! f- ?4 N
{9 `$ s0 \0 y) `/ z, Y# J' s
this->setRunnable(this);
" i7 [1 p! O, G2 C$ ]) b8 l; {+ H/ U this->reportStarted();+ n; f: `- \! g# S6 w
QFuture<T> future = this->future(); M; L3 Y# J( P, r& {5 D
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
. m) q2 d- b* W$ h return future;
" m4 E; U. | H$ h4 |* l4 x- Z }
7 d/ o$ G& L9 [! n& p
4 C9 g( P: j, P! Y2 w; z void run() {}
0 F) o0 ~# @, ^8 w) V9 i virtual void runFunctor() = 0;- e8 ?, g0 c$ C. O6 u6 C; \
}; Q& G0 T9 `( B& C9 @0 u
C/ s0 |9 C) {template <typename T>
. U L3 s; Q# Tclass RunFunctionTask : public RunFunctionTaskBase<T>* N: F9 |& M: B# M8 r
{
. D2 ^9 N" o" ?$ v7 L( Bpublic:
[4 T1 t6 `9 I4 L$ f5 z void run()
6 H, p, u. s' a {
. X' \- W) g8 k' a2 S) q if (this->isCanceled()) {. N9 y! t6 c' Y8 R/ w5 j9 m2 I
this->reportFinished();
. x# o" @- H0 ?7 n" g return;
, g5 [4 [' @7 o! R, a! w }5 {" B, u# Q+ k; S- e
this->runFunctor();
4 e3 D3 F; t! m7 Q* h this->reportResult(result);
7 ~3 y6 n9 |% Q+ d, L; o5 V1 Q this->reportFinished();
/ W- Y) [( v; Q V }
0 T5 _1 }5 j% l+ F$ t( T' I2 C" g T result; n, o" @/ D" i# b- a% O2 v/ r
};
0 C+ \# A" M/ I6 A2 k, X" i7 F2 C$ C1 n. f
template <>
7 ?- r5 l- i5 e" S9 T* \class RunFunctionTask<void> : public RunFunctionTaskBase<void>. S! L5 t( h W8 d4 a3 t/ a, b! K
{) i w7 B/ e" m; P2 @ L+ P
public:
- j+ I) T5 N$ p! \0 @# Y$ `& W( o void run()
) P8 V9 V4 l; }3 V+ Y {
# |( s& T: Z) X# C if (this->isCanceled()) {) Y" q! ]% n8 Y
this->reportFinished();
+ O5 c- T+ D, \+ {0 ^9 ^& y return;7 M( b* j$ K1 S, H
}
; F9 r- k: E; f# t0 d4 k% D this->runFunctor();) |) U& B% |( D7 o/ w9 F/ v3 m
this->reportFinished();& J1 t. d- @6 J$ C
}
$ i6 x. ?! p" u- I" A# h& [8 G/ z K) D7 E};
/ U/ E$ a" `, |
! P5 c7 V2 O( B$ Z5 S3 h} //namespace QtConcurrent
7 f: k I( B6 V& E; Z1 ?0 l, u6 Z; N% ~% k5 B1 ]
#endif //qdoc
. W2 _" N+ o4 L2 o+ Q' D- N% h0 O7 Y; r% w4 u2 k5 w
QT_END_NAMESPACE% W/ j/ l1 q# Z5 }& R
QT_END_HEADER( c) K- ?! m& L
: s) m4 W+ [4 G. [. m#endif // QT_NO_CONCURRENT6 h5 Y' X1 ?* j, {. x7 C N
4 m1 j( B4 o; m5 n+ s
#endif
0 D5 s2 B. @2 ?" V1 M- b% k! }" k; V' N2 ~- q+ U
|
|