|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
) H$ K: H! x0 D! v& _. s1 [/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
& u$ O$ ]+ \3 | X$ N5 l
# p- k6 Q/ V$ x Y' k这个头文件内容如下:, H2 t. y8 T* _. S, S K! v
#ifndef QTCONCURRENT_RUNBASE_H# E( D. `8 [+ a/ u! g, K
#define QTCONCURRENT_RUNBASE_H5 G5 {9 V/ ~# `5 e1 R& e# E
8 ]& y: \ _. n, ^; A$ E
#include <QtCore/qglobal.h>) K( z4 X7 }; x. I# ^- B
" C2 j, g% n6 ]2 _+ @#ifndef QT_NO_CONCURRENT* e F! X4 F2 V! H% w
+ G& J8 ?' ~' a! P
#include <QtCore/qfuture.h>
6 P: i& V& }3 ^$ k#include <QtCore/qrunnable.h>& d% p0 E; x/ S6 W# I" m) ~
#include <QtCore/qthreadpool.h>. k/ }: r P/ B* m+ o4 d* R
, D2 q% J) Z% ]QT_BEGIN_HEADER8 H4 v' q6 R. e" \
QT_BEGIN_NAMESPACE: \* J8 V! t1 Z% Z) r+ x, u1 J3 C
* O9 m6 @3 X: G$ c7 i& rQT_MODULE(Core)+ S$ g" a& P; @
# J' }* V5 k8 ~3 d: l
#ifndef qdoc. L; l3 R0 O* O, O0 o
* R l0 @) E& P/ lnamespace QtConcurrent {1 f5 k1 b6 ?* I2 E, i
! ]- o& k6 w: g- ]
template <typename T>1 a3 D/ i8 n( n% Y
struct SelectSpecialization0 d0 F6 W* U; N0 L. [8 g S
{& F9 ~% f7 R8 q8 s
template <class Normal, class Void>5 c {2 @+ d- E$ S0 y
struct Type { typedef Normal type; };
$ D& O$ B ^2 |};
- A+ w# B# ?8 v1 @; l
6 o4 B; A& ?; V$ R, @0 wtemplate <>1 `, l, I x) U& O* D: L
struct SelectSpecialization<void>
; y. z. Q+ E, n2 A7 b0 d{
' C9 t% W/ P! U- K8 u5 H, n/ F# a template <class Normal, class Void>
, z7 X9 X: }5 Q- m# ~0 @! S struct Type { typedef Void type; };1 ?! L4 I0 O% |5 i- r* a& E: c
};. k" G/ y j3 _, A6 r5 u" ~+ v* }
! h! E3 ]5 A# [# `
template <typename T>
" N& M1 e# l, O; l" W Kclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
9 z) j' M1 R- y( F+ V# |9 \; D. }{! C* D- u b: U9 G4 u7 n4 e0 u
public:' @+ Y u& Q2 l( |
QFuture<T> start()% ?+ p, Y' ~* ^
{
% V G+ S( W% k5 E0 O; ^2 O5 ? c this->setRunnable(this);
% {* v' `7 t1 M; J: G. P this->reportStarted();
" F2 W/ X% P5 P" N QFuture<T> future = this->future();
! g: r$ m3 {$ I, X) Q0 { QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
( n* ]. S( L/ {, q6 W6 Q# f# g return future;% T$ u0 z8 ]) ], }% A
}
# R& N1 a$ Z i% @9 J. j' b J! F" D
& ` W3 y: _2 n- V, Q' m- U4 T void run() {}
) c; }( ]4 @7 A- Z5 q virtual void runFunctor() = 0;7 ~( s9 @& m* i, O& D
};0 ~- W. m) k7 c6 _$ X: `, @, P
$ Y* G* I* T5 A( S6 ttemplate <typename T>
8 a, c! r; B) Pclass RunFunctionTask : public RunFunctionTaskBase<T>+ G- j; c3 d* ]! b1 `
{8 q+ n: g( @; M3 K; l
public:
4 ?' C" N4 n- V% j void run()$ E- G9 ]$ A' L. y5 C( x! _# w2 a4 \( o
{
+ v& z- @& K) s8 Q& h% Q# R# @! t: r if (this->isCanceled()) {8 G9 M3 o8 j5 |( |0 G3 J
this->reportFinished();
% M& ?! s5 c* o7 C' g return;% X5 w3 @. q( g. R: o
}+ o# E( P0 Q% d; V2 E4 X; }
this->runFunctor();1 f+ a; y% `% k
this->reportResult(result);5 v/ T5 B( n3 O
this->reportFinished();
! v- x( Q) j0 o& H5 {' v/ t }( ~3 F& t4 p& Q1 }/ ?% v7 Q) J
T result;
" [1 N6 ^+ b. U! f/ l4 a};
3 w5 ^3 f; D: \5 n& }* U, B; D: _$ h7 \* X
template <>
' Y) g) j( d: o* j0 A$ Q% G7 Qclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
) `: w% ]" w8 I% K/ Q; S{
6 G6 \% M6 l4 ^2 epublic:1 m) f# i* `" U; A- b
void run()
1 V" r/ L. v& f7 g {
. N' {( |% {0 G& B if (this->isCanceled()) {
' v5 w- e) s j, v6 ~7 L# f this->reportFinished();
& U) ]. H+ K6 y" i return;$ f- R! e9 n7 ~
}
* G; o6 _% l) g7 P' e this->runFunctor();
2 J* _) U4 W) v5 s" l+ T this->reportFinished();
p, h/ D6 [6 q2 T1 H6 s }
6 Z) N% J! v- p3 W* M8 F9 ]};$ A. M0 _! l( [! A! Z) _
; l! O" g J2 u; S2 x# B, V7 I} //namespace QtConcurrent7 D# z4 i( r9 _9 o5 H0 J; l
5 F0 r& C* C' S#endif //qdoc
/ V+ `6 J, ~, A/ y& O2 t; O1 T+ B1 e5 g0 Q# }
QT_END_NAMESPACE
6 ?5 } K; j1 \' H/ t+ BQT_END_HEADER
" }! p3 m0 U' b n+ A `7 Y) }+ r& H# d+ K+ C5 m9 t: w! B' i& F
#endif // QT_NO_CONCURRENT0 L* h. A3 s% ^% n) n" n# U
0 ]' d V G% |& e
#endif
$ c$ z2 ]+ O3 F! g* C' k/ c0 f6 S7 a5 [
|
|