|
|
我对syslink进行交叉编译到arm,但是出现如下错误:$ L: a) q: A! x9 R, I1 \' f8 e5 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'2 X* y- E1 w( x+ f
! w# j7 x$ O& k: @& g这个头文件内容如下:
: _# m) {# v! ?6 P#ifndef QTCONCURRENT_RUNBASE_H; V+ p+ a- Y" v% ?5 n& q
#define QTCONCURRENT_RUNBASE_H1 a1 o. l/ r0 b, l; k2 Q3 t
# a( y6 @ I1 l
#include <QtCore/qglobal.h>
* A6 J# c, g' ~3 h+ ^. _' u1 N+ c" V, N2 ~/ a7 O! A( d2 l
#ifndef QT_NO_CONCURRENT; a6 k) b. X" s! c
1 k' e6 g$ j& J4 [* W$ R
#include <QtCore/qfuture.h>
" ^5 ]; _( T* ^#include <QtCore/qrunnable.h>8 r9 k& S& c C$ D
#include <QtCore/qthreadpool.h>
( U4 N8 L) [5 j5 @* U
0 S7 f1 \& X8 G/ e, jQT_BEGIN_HEADER
* l8 E8 Q2 v* q3 r; o- RQT_BEGIN_NAMESPACE/ J9 M1 R* g s5 ~# l5 L) r
6 T/ V& T4 R+ rQT_MODULE(Core)+ u/ F0 \ k$ s
. U3 T! x) ~8 }
#ifndef qdoc9 h5 f/ B5 M0 n# P) G
) V+ K6 |: @& W# g' ]3 Mnamespace QtConcurrent {; z8 ^7 v$ y) q$ \, ~
0 u9 ]2 v) V; x$ K5 N% C& T v4 E
template <typename T>% E! ]. X0 `. u) i9 u7 C
struct SelectSpecialization
6 h N2 a- i% W5 L{4 A( p/ j( ]; U6 Y* R; T! n
template <class Normal, class Void>
! w* A7 k: x7 J' v struct Type { typedef Normal type; };8 q8 Z8 F* Z( C* \3 l& I
};
( A$ k" T/ L0 E" _& S/ `$ ]- ^, F
template <>
. x2 M4 q1 ~- \2 l, [5 E" Q' ustruct SelectSpecialization<void>
- j; ~: U' H. r. r# b, L0 Y{* n& L# C7 o# I. Z- `3 _" {
template <class Normal, class Void>
5 s z5 w; D. u2 |, ]4 v/ w. n* ]' D struct Type { typedef Void type; };
' Q. Q4 ^9 K) W. o% X" E};
% l2 m& @* ]# X5 g1 t4 S; ^# j3 ]1 r$ ~6 u5 v7 Z! r
template <typename T>& q/ N' |1 o" R; j2 h
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable: h9 f: J1 b4 p3 Y
{
- F1 y0 z3 j8 n: Qpublic:
1 K+ g! `# H) N" t. ?; E, i; S QFuture<T> start()) x) F; i3 o) f$ e8 y8 _- |
{
% F+ [3 W8 R5 b this->setRunnable(this);$ I- ~* p3 W* B: a) G: K( L5 t
this->reportStarted();
4 K& {: W/ q0 K QFuture<T> future = this->future();% i/ g- D V8 {! t- y+ J$ ~
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
$ Y1 C- h1 P/ A return future;# S; v( Q a6 F( ~" K
}; h- p1 K3 D, Q' q6 Y, Y
: S5 {4 h- G* e! f1 U" n7 m
void run() {}, c; ]2 n9 A( J! R6 j
virtual void runFunctor() = 0;
; [& {2 t4 C2 f% b* G};
; U8 ?; C! e- U" \" A/ ~- o6 n3 [8 P [/ I! ~; h# @ N4 u
template <typename T>
; v5 X9 U: e& t Y* b! T2 \% Hclass RunFunctionTask : public RunFunctionTaskBase<T>$ t& ^, A5 @( d: E
{
# @+ G6 J; s/ v7 t p& L- V! {public:
- m% O1 D5 w! |; x9 x void run()
) P; I9 F5 R; i5 ~ {
: ~8 l Q- L! R+ o9 _6 q if (this->isCanceled()) {
; y2 q5 h y4 E: r8 A' a this->reportFinished();3 ~% }1 k5 U& B5 b# t! M9 N
return;
/ G2 ~0 H: `* f( Z }
8 g; i, |3 ^3 q5 O6 M this->runFunctor();. x# T( y2 W2 n' }$ v
this->reportResult(result);2 [1 `4 K; N0 `* c
this->reportFinished();3 }. `4 b" i9 Z2 U8 |
}
* O( A( |6 I3 r% l- X T result;; _; V3 O. F# x* t" a
};
( }' f9 g" _# x1 c3 ^
! n0 f. m$ F% t' ztemplate <>
/ |$ r: G# z) ^2 H) }class RunFunctionTask<void> : public RunFunctionTaskBase<void>
$ q5 ~) y$ s/ }* j{. j' n V$ |7 l w
public:- b+ G. D# @! y0 ]$ @( ~" B
void run()
; z/ L8 a* E8 `) |. F5 F( U# O4 B {
' ~) O, C) I3 q, P if (this->isCanceled()) {
% l8 m* w ^! m this->reportFinished();9 i1 o# z' P3 i3 r7 U
return;0 Y1 i/ o5 {" R- q w
}" t/ E( @3 c4 D W. A
this->runFunctor();) p7 g+ `" ]/ O. l7 O
this->reportFinished();+ B2 z9 s- ]/ R9 t5 m% M2 O$ h
}. {/ v8 b0 {& p/ y
};6 j0 z m/ F4 x7 Y2 k
5 O( a; m- l( V7 j- |5 a} //namespace QtConcurrent0 d$ R: d+ u! w4 p7 ?- ]8 ^
, M# B0 W. z- P
#endif //qdoc0 |/ A8 |2 c* V3 m6 g7 B- m
3 ?. _6 T+ v9 I2 _& ?0 NQT_END_NAMESPACE
( V( w# A: g( F7 aQT_END_HEADER
, @) \* Q$ Z% \: L+ h# u
7 `8 {/ z6 k% y Y& g#endif // QT_NO_CONCURRENT
2 p2 ~7 M0 K# _6 f. O4 a; }2 O5 p$ g4 }
#endif* Y5 ~6 j( m1 R; P+ V% h6 _4 j
* ^/ y/ ?" ~/ c! _
|
|