|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
) l1 {" C* Z! B) ]3 M7 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'
; U0 Y8 C' ?4 `! U9 T% d6 W6 e6 v1 n/ j' `, |% C
这个头文件内容如下:
# B9 z( s: x: D#ifndef QTCONCURRENT_RUNBASE_H
8 D, h* ]) p- X+ O( |7 O+ a#define QTCONCURRENT_RUNBASE_H/ w2 \4 W* y4 Q' x9 M
; i2 k. ?# b. K% g: i' d# _5 h#include <QtCore/qglobal.h> M: B9 Q5 A/ a) E3 X
& s& Y0 N$ f- T" E
#ifndef QT_NO_CONCURRENT4 q0 f9 p. t: p6 w9 p
/ D5 y* K6 W+ k7 u2 L% v" c#include <QtCore/qfuture.h>
' }, ~4 P% ~% E! j/ t' K Z. g#include <QtCore/qrunnable.h>) X+ p- g4 l; o( u. i9 K; [6 g
#include <QtCore/qthreadpool.h>
: K8 o- d8 k- N9 u6 Y& C3 K" B7 L
# {# M1 P9 P& u* B) o+ L" TQT_BEGIN_HEADER: O- @# Z( q: W2 J$ n& v
QT_BEGIN_NAMESPACE% p/ B7 b# ~& D; Z# }: D) Y& ] e
* ~1 ?9 [/ [* I) eQT_MODULE(Core)
4 o! f3 O$ q) `; ~3 F- @8 E( }' q
9 {4 p5 O2 g6 V9 ~ n {#ifndef qdoc9 a( v6 {! ~( x
2 ]% i9 j3 q2 l; a
namespace QtConcurrent {
g+ T- |+ A3 E) q9 M
9 d% g, B0 J. k, `5 p' t, n+ btemplate <typename T>, {2 R* S1 x; ^+ v
struct SelectSpecialization
, Q5 j% z' T M {* }$ Z{
* B* n& I# ~, z; R3 d! D template <class Normal, class Void>2 X* \' V) x# _" p5 [6 A
struct Type { typedef Normal type; };( j) \3 B; |0 T+ h# B6 [
};* ?5 l! p. P' o6 @; x9 a$ i
. P, m7 ^: @) j4 E$ E! a: C: G
template <>
: b o( O- _9 g, j9 c+ c Tstruct SelectSpecialization<void>
$ N/ L* K1 T% z0 z, _9 `! G, D{
8 U$ h- |, V: @; i _! b/ @2 } template <class Normal, class Void>
- D5 ?* }) O/ `5 o2 `) s+ G! m struct Type { typedef Void type; };% k# c, X3 S1 x; [$ G& J' W7 T
};1 `, ~0 x, H' y6 G$ L
/ }) y, N# l, M- N, vtemplate <typename T>7 B: t r! S! b
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable" y: I( v+ D8 _3 [% p' I B2 [
{8 m! f+ F5 m# K) B6 b2 b1 b8 J
public:
; y4 n k6 ?, m, }+ R QFuture<T> start()2 L& @* M( k4 \& g+ Z$ i# |
{7 [9 o& R5 [9 O; l3 L$ ^% |
this->setRunnable(this);
6 E$ ?& y. g2 |' Z3 `3 ` this->reportStarted();
* q2 ]- w; n; `6 p, ] QFuture<T> future = this->future();
2 r# V' d( H; F* ~. v( r( A$ q% d QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);& N* _5 X5 l( o4 |( |( w
return future;
! e4 G5 y7 V6 B6 V4 U% R1 Z5 n }
5 z: z- S7 G- [! r$ R; k. b4 G
' @( r3 l& v% P e6 w! ^, C void run() {}
) }9 n/ Q" L7 m% V$ c" [- o virtual void runFunctor() = 0;
# m# K; |* m) ]};+ o- a. {) c6 `6 a6 w1 n
6 V& a4 K0 O% s: e, T9 p+ m% s) ?
template <typename T>
, D9 q: [& B) tclass RunFunctionTask : public RunFunctionTaskBase<T>
4 v& Y' c7 L4 r+ G{+ c4 ]7 {9 K8 Z
public:( i2 y/ e' U3 C7 g
void run()9 d$ Z8 _4 @5 R8 b. X. m: e2 S, U8 u
{
- K* u l/ G: N; f1 G5 m if (this->isCanceled()) {
0 [9 x. Z$ i3 J2 j! j this->reportFinished();
0 U0 m7 h0 S0 H% m! d return;
5 j1 V8 `7 X2 `/ W, _+ I }
2 G4 N2 h" M3 n this->runFunctor();7 V2 W1 M, k5 l! c, }3 A/ K
this->reportResult(result);
0 ^* r/ r3 Q2 p* L this->reportFinished();0 I! ~1 e0 R+ h& M: M7 K. E g
}
: P1 S8 \4 `; W# d3 C4 s/ V T result;' T4 N0 I O6 x9 T/ ?% u7 [
};1 p- L% w( K: U. q: w; g
# J: {* ^8 g/ t0 X! wtemplate <>
7 I3 \/ u, w& e( _$ B4 lclass RunFunctionTask<void> : public RunFunctionTaskBase<void>3 }" p0 C" O: q2 x
{
' d; X l" L8 d* Upublic:+ V* P: v0 M' N0 z" l
void run()8 D) [, m# o6 m/ B" R" W
{1 F- m; f% n* v' R8 T- r! @
if (this->isCanceled()) {' @1 A K! N8 q5 W# S7 l
this->reportFinished();
- Q. H% q! X/ U$ H# \) D" n9 U, f return;
" O4 J( G! s. ?1 B& | }
/ g* {" m2 H( `" ?8 U7 F this->runFunctor();3 S2 r a$ v+ r6 R/ _. C0 M
this->reportFinished();
* {$ F. B+ \2 c9 u# j; O: T; c8 F, X }
0 ]( H5 F9 m0 \0 v# o};
$ |5 T) d Z+ ^' e# |! e. s0 }+ X
} //namespace QtConcurrent
, b2 ~( X; j! r z
$ v6 K8 K6 c. C4 O. i0 f#endif //qdoc; ^) |0 W, Y2 r& u
/ O% F n Z& J2 B$ e* {QT_END_NAMESPACE
' s, q, d5 Y+ f' E9 yQT_END_HEADER
8 M, \5 N( M. z! R* B
- \. Y6 f- y7 a) J3 x#endif // QT_NO_CONCURRENT
2 n5 s- Y+ z, E7 c/ _* Z
: b, [/ [* F. N& f5 A k b#endif9 e/ W6 w5 T6 R i
3 s/ r! r- ~& A3 g) d) X- ?, ?) Q
|
|