|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
2 k$ J3 f3 U" l0 U5 ^2 G/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
! F' M, E* Y/ [$ D- ~; b+ X" `3 x) M- W; S" E! U* O
这个头文件内容如下:1 x0 u& }% s6 _/ y2 d' X/ z# H# J
#ifndef QTCONCURRENT_RUNBASE_H2 l: N3 A/ s1 k3 P
#define QTCONCURRENT_RUNBASE_H
4 A8 k0 J0 N M- Q/ k0 G0 c, S. b7 D4 B+ A3 }# Y, i9 a
#include <QtCore/qglobal.h>( s% c3 Y1 }: G5 _! f1 ~# }; F: O
4 U# K" h4 O: O% j/ m1 F5 C0 P#ifndef QT_NO_CONCURRENT" O4 b" L" S l
3 @5 `0 T* v2 A#include <QtCore/qfuture.h>+ b( f! U6 H5 {" T# U4 V4 [
#include <QtCore/qrunnable.h>8 X" h$ s3 X7 q k4 W
#include <QtCore/qthreadpool.h>6 p: k- C, O" g
9 G9 z$ ]5 S% r9 ^# QQT_BEGIN_HEADER
9 {" _: e) k8 ~3 ~QT_BEGIN_NAMESPACE+ x3 `" K: x3 |' Q, H. F3 ?
! T/ U' a2 _, P" J7 W/ E7 DQT_MODULE(Core)
4 K1 `% q% L& J* M( m4 o f: [/ E. C: p5 D- }
#ifndef qdoc$ R$ }3 E+ t5 K9 O7 I7 K0 U0 h$ W, |
& |/ Q6 N. o* n0 R$ F& R
namespace QtConcurrent {
& s# |/ R& f2 x4 f c1 b2 p" Y8 X& h( Q
template <typename T>
9 M1 [: w, w( E1 k+ Xstruct SelectSpecialization3 O9 {4 z7 M+ M K
{
: d2 g. s/ [0 s6 S! ]1 e) l template <class Normal, class Void>( j* H# H! h8 @* \, |
struct Type { typedef Normal type; };# X( v3 A4 R: G0 \% G
};! s7 _& r: _& W
" N; S0 G# q$ [+ Q
template <>
9 K5 N6 ?8 @ Q- ]' F% _, Istruct SelectSpecialization<void>
6 Z6 j4 V0 l" Y+ o2 ~8 [9 F, L{' C5 M) d Y* q/ R3 ^
template <class Normal, class Void>
* p0 v" { M$ i6 L struct Type { typedef Void type; };
$ Z; X- m/ \6 q' k: X};1 k. I9 B8 ~- a! P3 I* k
+ o' _' |7 D0 ^% a# Y% L2 S/ C
template <typename T>2 I5 \3 f+ a. [. M
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
" v3 X- j, I& Z; l{8 D4 E+ s' k2 V5 b
public:9 j; [6 d! n5 G0 W
QFuture<T> start()- B# E3 u) ]+ [( r. x4 O8 Y% k
{
, {( v" A+ V' `7 g P, E this->setRunnable(this);
3 I; ~" b& y3 U, k7 v. x this->reportStarted();
$ V0 |2 G, d2 d& I# R& Y QFuture<T> future = this->future();
% W1 i3 Z. Z' o$ V4 l5 r, h! b7 q QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
% a1 ~- x3 ?4 T( W" z4 H return future;" U( e$ \6 }1 y+ u; H. c
}- |. f, ]$ g1 i
; S. v0 R) b- h& r; `2 D void run() {}0 p! d0 k/ L' j; ^. T. }) a
virtual void runFunctor() = 0;
: v# b8 o" D0 o! e/ V9 ^};* p5 ^9 Z) M% U- y5 K
9 o: h, I- _$ S& Y2 U3 Z3 t9 k% N
template <typename T>3 P* C3 z' ~9 w
class RunFunctionTask : public RunFunctionTaskBase<T>
# }! j8 }$ m) `. m{ `: A! i+ r( ^. y# \4 {
public:
3 ~# p/ z1 \) T void run()
; F1 T. H* i1 m6 m {
: _7 f' E3 r! m9 p) c: v( ?8 Z if (this->isCanceled()) {
# t. ^) Q [/ i0 S- i this->reportFinished();5 H# b5 H0 f9 Y" Y$ @
return;
7 V! Y3 w+ Y" T }
, I& @0 Y5 i! s# ?$ q this->runFunctor();
4 ]2 A/ [, B) L* ]* Q# D this->reportResult(result);5 u6 C: m3 G. \ V$ h$ j
this->reportFinished();
" Z: h. e% j* d/ Z }- s e; M4 W: z; Y8 o5 m
T result;1 D/ J( q4 n, P. Z" A
};2 w6 M% S- ~3 I! u9 l' x
* @) T! F8 z3 x/ i7 Q, utemplate <>
0 v. f1 z* z: I) vclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
* F6 z! S6 h" W5 e$ z3 f{9 @9 k% I8 S/ T o+ {
public:9 ?0 `9 A7 I4 D: J& I( }* c6 l# u
void run()) ]9 \3 b( p" G
{, U4 \7 p: _ }4 B% b( p Q
if (this->isCanceled()) {
; u9 t. M, T. S9 {. u$ p" B this->reportFinished();
. q( v' ?! D8 x4 s! _1 N: ] return;
; l0 \6 _9 r) K0 ~( o7 T" R }
* _0 }9 a; j( K6 _, n" C+ R) W this->runFunctor();8 E5 O: [# D# [+ l3 k u
this->reportFinished();4 [8 { L8 `9 S* W
}/ r. F6 I1 n0 m1 P* T
};
' f& Y3 L7 S7 ?8 R* k$ ?0 x7 g. D
# x5 I' c4 o$ G} //namespace QtConcurrent
% r6 B( N0 O) f! l: v0 e% ?3 i4 r. Z0 d/ ?# {. q4 T( ^, w# y
#endif //qdoc
7 \' V# r; A% B" A# `
# ^7 f1 h2 C4 m y6 J9 VQT_END_NAMESPACE' Y6 B y- {1 o2 ^" y, c D4 |5 H
QT_END_HEADER
1 B' Y7 W- Z0 }0 ^, l" C: S3 I# c6 w- t7 b
#endif // QT_NO_CONCURRENT' |, M+ N9 v1 ?6 O: z1 p! }
9 E, E+ f" Q! s. O9 N
#endif p, \; @" g! Y- X
1 d! h* w8 ?2 d3 U" Y4 \
|
|