|
我对syslink进行交叉编译到arm,但是出现如下错误:* J. y+ x; I" Z3 U9 ]$ Z- E7 k0 v! N
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'6 i5 J: [1 n" S( Y7 \8 t
( h/ D+ ?9 S$ F& D5 y- h
这个头文件内容如下:" @4 K( V, p2 V- E2 z$ H" s
#ifndef QTCONCURRENT_RUNBASE_H$ Y2 q i; z; S4 a" A5 A
#define QTCONCURRENT_RUNBASE_H
5 h- p: T& [* ]$ ~4 c6 E/ |( N6 H( s1 m3 M: E) ^5 k1 A/ U3 l; d
#include <QtCore/qglobal.h>1 ]9 h& ~ @! ^
4 m9 f4 i4 T8 g3 o# X1 R7 L0 D#ifndef QT_NO_CONCURRENT9 E+ ?; L9 y/ U4 b
( w9 f2 q% Q3 |7 |! S/ U/ u6 j \' d
#include <QtCore/qfuture.h>
0 G- W: A1 I. N6 M#include <QtCore/qrunnable.h># q4 L4 M9 n, V" d" k! u v: t
#include <QtCore/qthreadpool.h>
8 ]3 _/ B7 l( R7 I
% o7 z% A- ?$ u5 M* PQT_BEGIN_HEADER6 R& f/ [9 z- C# n/ ? ^7 @
QT_BEGIN_NAMESPACE
8 ?2 y9 {$ d( P4 t1 M3 N% v; `' C8 O4 r( \0 g
QT_MODULE(Core)
' M* {9 o8 R- s2 ^+ T9 p* J: y* u5 D- L3 ~* N
#ifndef qdoc
+ T( I& H) k# v1 `3 c6 e. D
6 ]% }# n3 _/ v5 }7 j( ~namespace QtConcurrent {$ |3 I/ C6 ]/ v
. r9 K# _, Q3 j" M { q, m i, J
template <typename T>
% \5 `! H' q" [6 o# [struct SelectSpecialization
J2 n5 c. a! t{0 T9 l: u# L0 V, p
template <class Normal, class Void>
; \3 A+ ?/ J5 w' g- j0 K struct Type { typedef Normal type; };
8 j6 L( d5 u5 j};
$ N7 e2 O) V2 f! R6 x" [% w
0 m, |* v6 O9 ^! Y! ntemplate <>
9 r& \2 O9 \# C" fstruct SelectSpecialization<void>* x3 j+ B6 {. u. L
{
! O k; a1 i! g0 P- _ template <class Normal, class Void>
6 f0 P- c- H2 ^, s struct Type { typedef Void type; };
' n0 Q4 B; p9 f% |* F};& s- W: b7 Q& \ I" M2 \
! H. f1 J( v: \6 \
template <typename T>! K% C" _: I* u) {- Z, D0 U
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
% `( f/ [5 k2 {: ~: k( K; w{1 U9 p3 l& w, v3 m6 d3 W. S- g
public:
# ?$ M. d2 G) Q/ Z. ]4 ? QFuture<T> start()3 B; P2 X& I" w" a& k* _' J% ^
{
: y& u2 h- _( y( y$ t) |8 G this->setRunnable(this);1 d! L4 P# k3 X
this->reportStarted();
2 t g5 t5 T' t- v+ P# h* A QFuture<T> future = this->future();! Y! G. y. I7 J& E8 {
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
& b* s: l/ M! d9 `: e( K return future;
* h1 T$ q5 O+ o) } }
! ?' H: l, v; @& Z0 y1 C* p, A& W$ }' l/ Q" F
void run() {}/ u3 l# w; I7 ?- G
virtual void runFunctor() = 0;4 t5 K8 q3 g" \5 C, p2 X0 o
};& ^4 P+ D* p! ~0 c1 B9 W: l/ J
3 @: ?; J3 Q$ J" X) v0 B7 _4 g! n/ i, Z
template <typename T>" M" A# s9 v- |
class RunFunctionTask : public RunFunctionTaskBase<T>1 H1 \6 Y* j; ?) J% ]+ Z# {2 k
{% P* W) i& k/ r4 Y1 ]
public: l; r( y$ s* }0 c$ s% [" u0 I
void run()1 W' {+ ~# B: z, P
{
9 N B8 F. E0 N+ o3 v" q if (this->isCanceled()) {) x ?% ?, W1 B, T
this->reportFinished();4 v3 a- S2 F8 `* W3 f
return;
- g, f% o1 V! p1 w Y3 \ }
% h4 l4 x( x1 X" e( B this->runFunctor();) C+ I6 C% F7 V4 x @
this->reportResult(result);
3 M5 p" M6 h C& Z, n9 w this->reportFinished();
4 a$ R* X! J$ N. J u+ X4 T, V }
' u H) u8 f$ p R T result;8 `9 i! f1 V, m
};
" k, ?& u0 X% |3 J7 Q. m9 u4 a. }6 |8 `7 o U, g
template <>1 `7 [- L* X# ~. ]% O
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
5 W8 `( f: v. l{
/ J6 c6 L }. Rpublic:6 _7 a# {# k* d
void run()
+ I5 R' y/ V( K3 G6 h) _# F8 e6 ` {9 @6 o/ C" d$ p# r# e
if (this->isCanceled()) {
( u; s& G9 X6 ^: m this->reportFinished();% P6 G8 T8 s# a: g
return;
! Z6 p" i- h# I; z: h; o }
1 Z3 [7 v/ f, G* ?# m7 r( G this->runFunctor();
& b- I/ z a' o this->reportFinished();
^! X. U5 ]) ]) C }5 h) a. l0 w* P3 _, @
};
4 A6 ^6 u- k. D0 P6 M4 I% i. i" A# J# O! ?: z6 Y1 v1 |
} //namespace QtConcurrent" g; y% R# k, ` A( P
8 _, G% ~9 d! o- G4 i: r
#endif //qdoc3 G7 u% W1 M" [4 S5 J% p+ `! g$ Z
& \; I8 T* _% I5 a5 i$ [; AQT_END_NAMESPACE& k8 d" j! ?. A( [8 f
QT_END_HEADER
3 ~3 _$ T' L# l5 u3 B$ k4 S, L( I$ ~6 ?. N: m) R
#endif // QT_NO_CONCURRENT% x- C. ~! {9 e4 _. L
( V+ D; V: J1 k; j( i
#endif
- B; k) U2 |3 _: \, f+ x* w6 L* L) N/ D: M/ O5 `# s
|
|