标题: 交叉编译问题,急 [打印本页] 作者: smallknife_hb 时间: 2015-1-12 14:22 标题: 交叉编译问题,急 我对syslink进行交叉编译到arm,但是出现如下错误: & A7 O' C. K; t/ {- t# r' U" E M/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( h& I4 k+ e. b F; q
1 }+ o: ]/ k3 n9 ?这个头文件内容如下:$ L; y5 S2 L4 F
#ifndef QTCONCURRENT_RUNBASE_H- b- t9 @' w* s: L& l2 M
#define QTCONCURRENT_RUNBASE_H9 Y6 ]- r i) H: g5 V
* |1 H1 u1 K5 e+ X6 c g6 d ~2 N#include <QtCore/qglobal.h>1 {$ s1 s) s* \9 E! s" O
" O& o* P" o( N#ifndef QT_NO_CONCURRENT 1 ~# k* P' ]# L; k5 H. Z4 l / M' u* K# `( g; E& U! Z' K6 A$ g5 N#include <QtCore/qfuture.h> 0 j- b3 t d, @- B! _9 A+ H) ^#include <QtCore/qrunnable.h> 4 c+ U% z6 s- g* N: M: c#include <QtCore/qthreadpool.h> 6 e M0 P$ ^% [' Z5 ]8 w9 t0 U 8 `4 I; b2 a% M: qQT_BEGIN_HEADER + |: A. A% x/ o4 Y/ P+ N. H2 l, |QT_BEGIN_NAMESPACE1 _2 q1 P! g8 u6 Y/ Z/ W( w
# m& m1 G) T2 Q$ P6 G& Q
QT_MODULE(Core) ! \% _+ ~5 b o6 X ( [6 k$ y2 W Y: i" l1 U( f* b: H#ifndef qdoc* N) m2 r3 E ]9 Q6 t
2 D: Y8 x# W( l4 v
namespace QtConcurrent {. s/ ]# g3 {# K4 H
8 y Q/ `* {! O" M' V- J, m) e1 e6 s/ p
template <typename T>5 B; t- j! e/ u8 U S: A! B \
struct SelectSpecialization $ Q- F" x% P% G/ ~{ ! y L9 p" }& }# d& N9 i: R template <class Normal, class Void>6 Y' F. Y4 p0 ?4 N
struct Type { typedef Normal type; };5 `: ^: |% f1 x
}; ! C8 F2 B2 R0 o4 k% Y " B9 y% A6 ]( o* l5 Htemplate <>/ U9 o2 e! o$ ~8 Z! z
struct SelectSpecialization<void>% i) d& w% @% k3 u, ?
{ ! J1 ^4 v: \! T* C( f% X template <class Normal, class Void> 9 Q7 R* \) p$ t E6 e struct Type { typedef Void type; }; 7 Y& c* T# u) B- [};! B# e8 `! ]* V2 N j: f' c# M( F
1 {& ^# w8 _% P1 p. S4 {template <typename T> 6 V) j7 f# C4 k( D; q u. F- ?3 C: {+ wclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable4 ~' N7 p# X, c: z q; T$ m, e- s
{% a2 ^/ H L Z. e: s* p
public:* S1 x& d3 d8 v( F8 Y* e& o* Q$ M
QFuture<T> start() 1 x" T0 p! F. a" o2 j7 b" O {& z1 D% _1 `( e7 I
this->setRunnable(this);1 Z3 x) ^5 M* _3 R }
this->reportStarted(); 4 u# c9 {+ g8 q QFuture<T> future = this->future();* F$ F, F, R$ N" C0 @
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);3 f: j2 {0 S8 G2 L6 v
return future; 6 L2 g! `0 t, L/ v( O9 |2 [7 s& I } ; @5 I) ^& \! f) q / {. d% p. U! X6 k8 v; p, A5 h5 f void run() {} 1 Q/ E! d! o# L3 C1 O9 M virtual void runFunctor() = 0; 3 K3 R# N/ ~& W, r5 J/ q G" d}; 1 ]' J5 j4 [1 P; x g v7 J" W3 t3 D$ h0 N
template <typename T>5 N7 d3 t0 o* ?; N8 D8 o- L
class RunFunctionTask : public RunFunctionTaskBase<T>" Z* c. Y# h2 y1 v, N
{ ! g) p! G5 ^4 t0 \ r+ {6 \public:' d. \* A1 b& J- z- h
void run()* c7 `1 H" o i) |
{ 1 o8 m7 y/ a0 a0 g, Y5 h if (this->isCanceled()) { * N" ]) A( e- |1 g: G1 l this->reportFinished(); 7 X" P8 ^' ~6 g+ c4 x return;" G6 V- G U6 E( w, z" f# A
}$ E7 }( B# x# y( D
this->runFunctor();( a/ v7 X1 t: u# o
this->reportResult(result); 1 I4 V' b5 f2 r this->reportFinished();& `0 w2 f' _$ E: } F( `/ p
} $ }) [) h4 b- ]4 }( @+ D0 h T result;: f9 j4 q# a$ e: A
}; $ d4 y$ z' m' o2 K% [3 H" w ( O. e3 v( ~8 J2 p* ltemplate <>* I9 g; @0 f2 {
class RunFunctionTask<void> : public RunFunctionTaskBase<void>. y2 h$ q" ` M( j; z
{/ [: R6 @/ w* m. _+ c1 B9 A
public: $ F, [& ]4 S* P# O void run() ; B: m! \+ q+ n {4 u6 k8 m' t' s8 c2 S
if (this->isCanceled()) { - Y% s% R+ h9 ~' ^- i this->reportFinished();3 G0 ~6 |/ o* Q. u9 S( H1 ^5 F# f
return; ]% ]; y. [/ j( x; p7 F. e
} - |) O4 S* }, I& _$ N r8 U this->runFunctor(); 6 E# D+ K' t$ i% N; Y( c this->reportFinished();! i2 x# x% i! c8 e0 r2 m0 M3 e
} 1 \3 I' O, u0 H( e/ @};, |" m) U: d% o' x
, _, d+ B; Z3 _
} //namespace QtConcurrent $ v! i) u$ N5 q1 y' g4 B2 p' l6 r+ ?& }9 V
#endif //qdoc9 I: m2 k0 s2 x3 v
! o" e" z; t' z. u6 U7 v* b jQT_END_NAMESPACE3 @2 |7 X0 {! F
QT_END_HEADER 6 w% C0 D" |6 D; m; U9 O 5 J( g7 I' m& `! g#endif // QT_NO_CONCURRENT3 V1 O+ g2 J% @% O