|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* `6 p U) A I" i# L) ~/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'8 T- y5 U: X3 U3 t9 D) H
& T1 e ] V! ~% v% H/ J
这个头文件内容如下:' r! o! j' q0 u3 n. M
#ifndef QTCONCURRENT_RUNBASE_H
5 k% h- B! e7 x" Z7 s) \3 H6 A#define QTCONCURRENT_RUNBASE_H- m2 [ k: l& x% s5 h9 E5 Z
# u- X: n5 S% @# N7 e9 p
#include <QtCore/qglobal.h>4 i8 [+ s% i# ]( Q* j) Z& ^2 }3 G
; [2 Q3 |( e! `2 N3 t: K$ Q#ifndef QT_NO_CONCURRENT3 ?( c9 A$ @* y- d
8 u; }% P- m0 [
#include <QtCore/qfuture.h>+ i; ^0 Z3 }& R) O! `- s* w) D6 R
#include <QtCore/qrunnable.h>
# ^) t, v4 E8 L#include <QtCore/qthreadpool.h>
% e# P0 Y/ T# l
' \' q5 y& ?( T5 G: oQT_BEGIN_HEADER0 z' M' g: N3 y* [; L" {4 O
QT_BEGIN_NAMESPACE
# M4 x2 A v: r" W# W7 H' K& [
* Y; X- P0 i K+ {2 RQT_MODULE(Core)
) L! E8 t+ ?2 B* ^% ]; f/ @) Z
1 D, N" t' L& |) d9 t+ _, p#ifndef qdoc
3 Y2 Q, F# { v( G# z$ I) T( A4 h
; c6 Q: d2 b: dnamespace QtConcurrent {
7 s" h( ]1 u, \! d! z9 g9 M" l5 f5 q& ]0 b( t! k
template <typename T>* c) ?% q, A$ e% _9 \$ L. h
struct SelectSpecialization
+ O7 h9 \6 {+ b, |6 X$ g{5 g+ ~5 a' @# ? a! F) ~* T2 Y" W. T
template <class Normal, class Void>
! z, n" i9 N1 J6 }% D% |# p struct Type { typedef Normal type; };; \/ Z, U( K. t. f5 H2 o
};3 y1 u6 g4 Q2 M1 {' v9 ]+ A% l B8 [; g
7 N$ U, F9 m& c+ I
template <>
6 A& g: q0 O t7 w G7 I+ d0 N4 N0 istruct SelectSpecialization<void>
& l/ G7 k7 `" E. Y' I8 w, T9 I b{
" F/ D0 z! z/ T0 z! l+ I+ j template <class Normal, class Void># l! O9 w- d5 A) X
struct Type { typedef Void type; };! M: M! O6 _1 ~: v$ X2 J4 ] b+ ~4 X
};2 d/ R% H( i* M/ W3 G# J* b: G
* H) U! z+ c3 d; ]. Ttemplate <typename T>
4 V" ~1 {& }, S0 E) bclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
0 m, w+ K6 t( a* g7 k |" f{
+ X D @" a3 Z' i2 `# | kpublic:
8 Z ? n. G8 U QFuture<T> start()( r; f& f! @" h$ j! ^8 j$ S
{9 C3 A' c2 E6 l9 A* {, r
this->setRunnable(this);' s2 e, c2 X9 o
this->reportStarted();
! g0 P2 C: F$ V, G8 ^7 c0 D QFuture<T> future = this->future();4 B3 P2 J- M. Y2 z3 _
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);0 b1 C: S# h7 w
return future;
0 W1 i0 ]' ^, A. ^* R0 k z6 u# W7 @ }5 W+ H/ G0 F1 G; ]: ~! R
: {% E. [0 e0 N' u2 N) U2 p void run() {}
# T2 @# C' e7 L1 a, e1 `) P virtual void runFunctor() = 0;' O0 y; ~1 J- P) v1 d4 d1 z4 y
};
( p; Y$ J) [; P9 ` e3 i: w4 W5 o, O( ]% c2 c+ g* y
template <typename T>
/ Q4 N* S" s$ s* ?; U$ o; ]class RunFunctionTask : public RunFunctionTaskBase<T>
z: [; R: p t$ s2 D- t{
. G3 c, l8 V: a1 p: W1 Jpublic:" U+ F7 ?5 a: b% a/ \
void run() i( d: ~* N, M- a: O6 E1 ?
{5 b! h- ?& x \! N8 ]- W3 S6 g" H4 h. S Z
if (this->isCanceled()) {# g) h8 k, a- Z! o0 P8 R
this->reportFinished();, x! U' I+ M5 V8 Q& \
return;
1 Z; H1 n8 U% K }
. |1 }! Q' V0 o" h" w4 c; @ this->runFunctor();
; E; h8 x0 x' X) S( T this->reportResult(result);9 \" ^. w: r$ P* r- O, T" V0 [
this->reportFinished();
, t$ ~$ e9 L0 L1 {! B }& `+ f& o! `- Z+ R) f, v
T result;
6 L' \$ Z, `! B4 [ ~};
* J* r7 L7 R( i
! Q" l3 [* s: z# D0 _template <>- L1 I# ^: X) m* I }3 y4 t
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
. F1 w7 y$ {- L# ]) y) T a% \{
+ F/ U1 H" \+ X B7 K' z4 Ypublic:+ |$ K& v( C8 y+ G# B8 X* X( \: R
void run()
( I! u9 E+ a. X' m3 N. `/ K {
1 b R& Q% g5 f1 s" b if (this->isCanceled()) {" u; m. g- Y& d7 s1 r& a1 g, i
this->reportFinished();
2 ]9 I$ c' S& O; f/ J/ |& M return;
' {$ f3 q4 o+ q, ]3 Z# l }# M) Q: ^ }5 L) N( X- ]1 |
this->runFunctor();9 n q+ M, n5 U
this->reportFinished(); d* x! f$ @/ G5 g! V
}
6 \4 J( N0 Z: Z- s};
2 D' d" m0 a5 ? @
% b k% X+ \1 {} //namespace QtConcurrent& j X; O5 v9 R6 X
$ Q. _4 i; I7 ]% s$ W5 E1 W#endif //qdoc
+ M/ o& g4 L8 ^# R$ F1 }% v( s* m
4 z) c0 P3 |2 z( sQT_END_NAMESPACE
! ]$ _ B: `1 cQT_END_HEADER2 t" M& ~( H. E4 H
0 r- ?# {3 s: J6 |1 l#endif // QT_NO_CONCURRENT
5 o( V7 R& A1 d1 S, T$ D
/ q& f' B% z" j R% U: m& f0 t#endif
* O! w& _: @' b) w6 |& Z: X% u7 o) k5 z7 @6 n/ Y; \7 `& w
|
|