|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
, j: k! @- g9 O# ^, 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'# p0 R, h) r$ ?' N8 X1 T
1 w5 Q- L0 A8 n; s" I2 o/ D5 A
这个头文件内容如下:
7 \' q3 E& R% `" X#ifndef QTCONCURRENT_RUNBASE_H
' B6 Y: {4 h" ^8 X) a#define QTCONCURRENT_RUNBASE_H
# d5 s9 r0 ^% c9 I( m8 c+ F0 B* o6 ?! I4 P
#include <QtCore/qglobal.h>2 h5 v ]) G+ l0 d
" U/ [9 K9 w/ z: j& } \
#ifndef QT_NO_CONCURRENT8 _) J5 ? C9 A: Q; _
6 {* a. }! K( V( V) K7 O/ H#include <QtCore/qfuture.h>1 ]% y+ L' e( H9 U/ }; s9 i3 W
#include <QtCore/qrunnable.h>7 g( [, k' s# W" k# o3 b( ^+ c6 p
#include <QtCore/qthreadpool.h>8 c! @: a c% c8 |, W
: [1 Q! B( y d: v" c# o
QT_BEGIN_HEADER5 Q4 l! `- V* `. [* V
QT_BEGIN_NAMESPACE9 }- Z# B s2 ~
% t3 y4 X' U6 v2 l- B3 D
QT_MODULE(Core)! V* K) |; P4 P! F
9 |, f. i* E7 W5 w, \( ~#ifndef qdoc9 c. Q2 I, g5 \, X
$ U% S' m, R6 `( K: Q$ Xnamespace QtConcurrent {1 ^3 |- k+ ~9 T+ C9 `" Q' k
7 C/ w! ^' d2 F, ?template <typename T>
; g/ t7 N) r5 Z7 u/ m, Y1 ostruct SelectSpecialization
6 \: u* q4 f0 e' D6 c{
; d2 { v; Q2 x4 j' D( c template <class Normal, class Void>. c, W9 b/ U2 D: O* f, g* m
struct Type { typedef Normal type; };
% m# b2 L. s) y; B: |% ]5 P};
" L7 Z4 N# P1 j( m7 T' b3 R) \" W, `0 Z( y6 S
template <>
, Y p9 W( m9 Z+ ]struct SelectSpecialization<void>
! q' Y0 i0 x$ ^{
, ^; [$ Y( f' T! G4 N9 p template <class Normal, class Void>" q) P( F0 O! p, w: [5 a
struct Type { typedef Void type; };! h; z% x& m8 \( F0 J
};' Q; E! |3 k6 h9 ^$ p [
" n5 b' i" d; X* z" N! J; C' ?
template <typename T>
% w: G6 ^% L9 }2 n( I z sclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
7 f- L& u+ ]0 K$ H{
% i- m( e( b8 p' upublic:* O5 `$ E% e- V( _2 z
QFuture<T> start()& y$ |) w4 H$ ]! R
{& [5 A$ R) _: t" l) r
this->setRunnable(this);
1 Y0 h( D( i' ^3 l this->reportStarted();8 Z( j1 P8 J( Q" B9 [- S
QFuture<T> future = this->future();. S0 q& E0 P% L( R0 M+ q" `9 t j
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);, ?+ [! ^5 n A+ n
return future;
W8 y' W! @8 q8 r5 O A# ] }
" W4 T7 F! G' Q0 ?/ o. ]5 i4 @) @* G1 G/ p9 g9 F e
void run() {}
' y0 e1 n' N; c virtual void runFunctor() = 0;
+ z3 r9 Z8 T- D0 Q) m( R};
! I4 w/ T8 x' ?3 I H, P1 l2 J+ X$ {- n& B
template <typename T>
" D# F+ }, V/ t8 T; [class RunFunctionTask : public RunFunctionTaskBase<T>
( B% C3 t& X; B6 Y9 k- i5 b0 o6 i{
4 g" _* h7 [. D# i. E3 Rpublic:
4 z4 S+ b' D$ ?* Q0 q* ] void run()
0 D5 f0 B( Z8 X' G3 u& ^8 L {. T" C& @0 r# O3 t
if (this->isCanceled()) {
* p7 |0 d- g: Z9 @2 F/ D( z this->reportFinished();
3 `) h, [. p P+ `2 g+ ^ return;
5 E" j5 A4 X* w }
) ], ]% u u! S! M# q2 ]% Z6 k this->runFunctor();: F/ ^: M% D( |% Q" N
this->reportResult(result);: T( n5 W5 z+ t3 {! ^
this->reportFinished();' e/ j9 G7 I+ T
}
9 D; C# @! L& B4 v8 { T result;
/ I$ t9 |1 R6 Y" L' n};
6 ~" j1 a) K1 f/ v1 I
' {( J5 U! \, q. S3 H8 v' ltemplate <>
( t& D3 T4 N) i, X; Cclass RunFunctionTask<void> : public RunFunctionTaskBase<void>6 A. [) _9 K3 e# i9 ^6 A/ S
{
$ k* @5 j2 A$ i2 p6 [7 L- V$ _public:
- Z& d- a4 |9 ]. ~5 a7 H. R* k* O void run()
* u5 h8 \9 s1 T$ _ {) C( j5 q6 H3 `1 S; W9 @! T) F8 b
if (this->isCanceled()) {- f# K' n6 |* z( l, t9 W
this->reportFinished();) F( G2 ]6 A9 I, o
return;; D" [" E! o8 b1 m3 t
}9 I' y3 s* z; b' w! ~1 \1 N. L
this->runFunctor();% D( N+ H7 L5 ?0 t
this->reportFinished();8 a2 |% \; Y( N% W" Z0 M& k' o
}) {6 ]5 {0 T8 y' P* `
};+ K% X0 |8 b, i- Q, [$ _- E, S
+ f. {, R+ [" d1 `3 x) I* q( r} //namespace QtConcurrent4 }! {. [+ I% l% C( P" X6 T) G& G
, z- f5 L% t2 `+ @/ g. z#endif //qdoc
- R1 Y) a' Q! J% p# A4 W
: K8 m( C+ H1 S/ U5 x XQT_END_NAMESPACE
2 ]2 C7 ` i. {QT_END_HEADER1 s* ?: |) y; U1 F% G
2 z4 b% I. E4 d% A0 j
#endif // QT_NO_CONCURRENT
4 U# z# U+ \- ]- W
) F* K9 V- c# E. z" T `#endif
2 w9 [1 U3 H4 s6 [7 W+ x: c& f" D
* L$ b! P" {& D% u& n G$ | |
|