|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
- [4 d7 [. q: Z, D$ q/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
$ P# y: r( h$ A) r5 n4 b% O# l
( t7 r5 U+ p% D T3 k% }: @这个头文件内容如下:
1 W% T8 [0 g- e2 b ]0 _#ifndef QTCONCURRENT_RUNBASE_H
% [* x) ~* ~ I7 a. _# B7 `5 T/ x# [#define QTCONCURRENT_RUNBASE_H0 C" e5 H9 ~6 `( ^$ `0 C
7 U" w \( o3 S#include <QtCore/qglobal.h>* {6 j+ [, c1 k4 m; q
1 r5 Y2 z/ U/ h, t#ifndef QT_NO_CONCURRENT
+ s" i( N& H) h2 j8 S T, A3 h! t' I$ }
#include <QtCore/qfuture.h>- o1 b# `" [& U3 ?! v2 V( ^4 E
#include <QtCore/qrunnable.h>
0 y8 m" U9 k# `" m# N#include <QtCore/qthreadpool.h>
" U9 l: V$ X" g B$ C$ m& o( j) c! u5 }8 F; \% b) L
QT_BEGIN_HEADER
* c' N0 L3 ]6 HQT_BEGIN_NAMESPACE
4 |$ W6 C* Q/ S
$ f& ]5 ^( a+ J: nQT_MODULE(Core)* W7 f$ Y- v9 v/ r: R+ b
6 q8 F* f6 j. k#ifndef qdoc7 \9 { |) P# u, {* f
8 h1 Q$ Q2 W- _& n/ ~namespace QtConcurrent {
4 Q1 z) L/ }- d( s+ c( [0 y0 ?6 u3 k$ O( z# ~( Y+ `' n
template <typename T># }7 R. g) ~7 {' B* v( ~
struct SelectSpecialization
. C0 @ k9 ]; w7 P* N4 s! H{8 N1 i! I$ n, f" F/ i* _
template <class Normal, class Void>( f6 z9 F4 L0 M- m, n8 ]; V8 q
struct Type { typedef Normal type; };
8 t; d' p. x/ M: T' j. Z};
1 ^+ h: I& `5 B/ ~5 C+ p) U* F! u" z! s! R
template <>
3 K0 a c' Y5 b. p- _( i7 s$ @3 t" G( |struct SelectSpecialization<void>+ [! m- ]& p/ I U% |' _
{7 @% R- ]9 p F+ Z: M* L
template <class Normal, class Void>* r, Z& }1 ]2 L! e
struct Type { typedef Void type; };" |4 F' U, |0 ^7 }
};/ o1 L' B/ n4 E
0 j; }# D {( Qtemplate <typename T>& [( V! Y4 ]4 F- S) U5 V/ e
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
) @) t3 m- C8 |5 m{
) Z1 D) S0 a( ~7 R% Z0 ypublic:
, Z- h+ n- X( V& w$ l( i. } QFuture<T> start()
+ x1 V m7 Q( ~ L [: j {
$ q! w# G7 t' C this->setRunnable(this);1 z+ {3 v% i& H; E; s
this->reportStarted();
% ?4 B5 k- s+ C3 J3 ]( z7 _ QFuture<T> future = this->future();: R3 s! S' ?1 K, s' P
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
5 O$ \$ z( X# Z) E return future;
4 A# j4 u& {. b% t# q8 X3 ]# O }0 T2 n j& @/ M7 |
$ `3 }( T @# | void run() {}3 ^ A, r1 D" E* l. k
virtual void runFunctor() = 0;
" M% r) ]: U: O& Q& i0 t};1 H' W6 n' s4 c J
4 H4 Y# D" u: m$ J4 w4 h" \6 |template <typename T>
# Y* b* d6 }( ?8 ?class RunFunctionTask : public RunFunctionTaskBase<T>/ E: U" z; d! ?% ?2 a7 f; ~3 c) v- O
{: N% o+ K5 G, q6 ? {( ?
public:
# I) J, l5 c& `! v4 c: a void run()1 ^" f: E( C7 I9 z: v
{
# u# U! u& b0 d, a% X3 }+ I4 f+ b if (this->isCanceled()) {" T9 L+ t+ O) W, N
this->reportFinished();
8 h. ?0 e9 Y _( k, b8 |# s& s' H return;
" A1 ~# p, q0 R% E2 C5 p! w }
6 \/ P( f& |: ?% k8 U this->runFunctor();
2 @- l. l7 V4 i5 D+ F5 }! H) _9 y/ b! ~ this->reportResult(result);5 B3 f0 }5 v1 x
this->reportFinished();- A) }8 t5 u: O) y; q* n
}
3 B/ Q: }- D) j" J' T T result;
' L; P5 ~% Z% T+ |* c};, d( P- R& c2 j+ a; ?/ ?
, b" |/ c+ p2 _/ D4 d/ M: etemplate <>
( h7 R' {0 N& f: |class RunFunctionTask<void> : public RunFunctionTaskBase<void>) J- P& o/ ^+ E. F3 z
{& y& n; O! }( k4 o V; ]1 @- W
public:
1 G4 u) t# Y, o5 c$ R- s( G void run()# F0 @1 N2 X5 u- f8 d# h8 O# W
{. [$ p; {* D3 I8 @2 M x
if (this->isCanceled()) {
5 F W% T! Q: _# W this->reportFinished(); H% Z9 v7 s* t6 k# Z! P
return;
. ?3 `7 f1 Q+ s- p" Q; B4 u+ B }
( r- Z5 ?( l' D' z: [ this->runFunctor();
f) ?8 {; I7 h/ _8 b this->reportFinished();. o; Y$ L$ H4 i3 F0 }
}+ {4 u/ W9 ? Q' Z; J
}; R7 l/ `2 w) ?8 V
1 M/ k) ^2 S# F' v} //namespace QtConcurrent# T# ^$ n3 Q9 r0 G
& L2 G0 V0 W/ b0 D/ I/ y' P9 y
#endif //qdoc
* z3 y. h2 G/ ?
# _/ u, Y X; p- v2 PQT_END_NAMESPACE3 r6 k" m9 _' D+ j8 P
QT_END_HEADER' W! x7 R) h3 s6 c5 Z; X% L5 N
" _+ q& d4 \3 o+ ]( _#endif // QT_NO_CONCURRENT Q X% L' Q" f0 ~+ t, t
) O, R X( r9 e; L
#endif
% l0 M8 P3 B _; Q1 M
4 U; ~0 e: Q% l: s9 t9 L/ _5 C |
|