标题: 交叉编译问题,急 [打印本页] 作者: smallknife_hb 时间: 2015-1-12 14:22 标题: 交叉编译问题,急 我对syslink进行交叉编译到arm,但是出现如下错误:" P% n/ j) h: U
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'$ w8 F2 s7 Z8 r6 n- i0 G# R
9 g" \0 G( C9 [, [/ P A0 f: e# `/ f这个头文件内容如下:4 q8 q/ D. G7 C$ [: A
#ifndef QTCONCURRENT_RUNBASE_H # `' P/ m* Y# \- c4 j#define QTCONCURRENT_RUNBASE_H ( e) H8 Y, X6 p l& a " j+ L+ j! U6 t: }; ?9 n# W#include <QtCore/qglobal.h> " M+ I. M/ z% I1 x8 s# D7 X7 z' t9 O! Z
#ifndef QT_NO_CONCURRENT; I+ U& g& ]8 L/ g" a9 X, ]1 l4 D
) Z j+ w4 N) m* H6 z5 W; J
#include <QtCore/qfuture.h>% f; w; R9 p% j( `- ]
#include <QtCore/qrunnable.h>6 Z" Q. ?# `, u( G$ v
#include <QtCore/qthreadpool.h> " T) m0 ]9 g0 R) F, |3 r) p# I
QT_BEGIN_HEADER + n' [% o/ }( ZQT_BEGIN_NAMESPACE2 [& p3 L# `: H4 v. R
: G! ]1 R$ u5 J4 B0 d
QT_MODULE(Core)! b- b! p. u; M" K6 K
+ a8 H* |; p" Y; w
#ifndef qdoc ( l4 {9 f4 R4 D, v3 E# l+ p$ h- I6 w/ x
namespace QtConcurrent {5 G H. S' U( m7 B) a3 i3 O4 U
8 W5 g' B% c3 @* J7 c K. E
template <typename T>$ @' o+ B# h. I: O
struct SelectSpecialization 2 W# U% `- L! k, C' I# D{- o8 j# P8 m& W3 t3 V& H, Z
template <class Normal, class Void> # `6 n6 B' `7 a' i: D, e struct Type { typedef Normal type; };) o6 I3 H; f9 F! l! Z2 Z
}; Q! k" ?: a' `- n' \) H
" x" a- m4 ?+ D% ]! M
template <> / x. f8 u, S7 a' O, Xstruct SelectSpecialization<void>: n1 t4 Q& O: C" [' k; n/ U( m% p
{7 w0 _' R2 A# k' O: ?5 J
template <class Normal, class Void>0 x: {( ]! g/ B
struct Type { typedef Void type; }; $ Y- L; B+ E% W: U};# ^7 V% g& H9 C- C3 D
/ u7 M; t# q- p$ A2 ]- S
template <typename T> 1 E/ j1 m8 @' X0 K; dclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable ) I- P. D4 R9 y% @9 m$ W( Q{ : ]1 J* _4 n6 q) P& G9 I* kpublic:6 T2 p: v2 H- F/ y
QFuture<T> start()$ n7 c! B- ` a/ H6 P7 \
{ # a2 P' \) a! q k* Z6 f this->setRunnable(this); 2 t. Q5 b2 h9 H7 c+ d this->reportStarted(); 0 P: ^" |6 c9 k3 n1 i QFuture<T> future = this->future();* E) n# a6 x8 c U2 S. p5 n" s5 T o
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);' x. m/ G# Q2 x% t& |# t8 @
return future; 7 Z( u7 S4 m! Q5 M' y2 W } " }% w( `1 @) `4 M$ E4 M" k & D8 A# A: r, E/ d1 y- t" g n4 g void run() {} / a, z' k1 `8 H$ ] virtual void runFunctor() = 0;1 g0 ]# s8 d1 x
}; _ S n$ I4 E% A$ V! }) _( w1 G7 r5 j' Y+ ]
template <typename T> * q2 [( t+ e- V. Q- b& i1 u% aclass RunFunctionTask : public RunFunctionTaskBase<T> / C* ]% Z$ g, p9 ~! Q) [& [{7 ~( U% h7 c+ @
public:# _6 }" Q( L# k) y
void run()& } h7 {5 X' Z/ u- G+ f( b
{) k, P0 j& X9 V8 i4 C. c. r; }
if (this->isCanceled()) {. Y9 M5 H+ d* K3 k9 P- J
this->reportFinished();- ^5 ?9 V4 F6 d
return; 0 K& \, ]- n+ O( ^7 } } - l3 |/ z) V- L$ B; @) d this->runFunctor();# j! G# p" ?* H S6 _. q- Q7 R
this->reportResult(result); 4 l0 j8 s2 J4 T0 K' M% l" d3 ? this->reportFinished();9 g: I# m" b- t. W+ ^+ o
} 4 c& ^' j: J) v% K* ^, c8 g# `' X T result; ( J/ h4 B. y3 v}; " `$ i5 a* U$ U, L: E1 v# W( j * W- v6 \8 A$ y3 l2 W7 Vtemplate <> " M3 Y, y9 g7 S* k5 t1 b. X/ w/ aclass RunFunctionTask<void> : public RunFunctionTaskBase<void>% u1 V2 f# x6 B6 B4 v: M: M% _
{; h- O- s( a& C( ]
public:" A: {3 g7 C- t& x
void run()+ \& b* a" |9 z6 \7 i
{ , k& h# U0 r1 @7 E- I# h* g6 C if (this->isCanceled()) { ! }. ], a4 N6 B; V7 u2 U this->reportFinished(); ! W' Z3 J$ G2 v1 c2 _ return; ; d. F, q2 ~6 ?& _- P1 x }, L; B( W, t5 g9 z t6 i
this->runFunctor(); / i' @, M: l* H4 P" s this->reportFinished(); & U/ D, M5 r K, ]% e+ h }) K! y3 |4 ]* I8 ^
};5 y. g: f7 N& _- P& e4 x8 v
$ Z1 K4 o$ E& r' H) M7 [
} //namespace QtConcurrent4 P" _4 V2 q, G9 m" @" M