|
|
我对syslink进行交叉编译到arm,但是出现如下错误:' |" N% F, ^# q/ k. K
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'( D7 @* Y, D3 i7 l
* }* M" U7 x/ O* L5 m6 ^0 Z这个头文件内容如下:
( E3 P' {& Q8 l) K a" c#ifndef QTCONCURRENT_RUNBASE_H/ x) H( e' \$ @' E8 y- y0 O5 P
#define QTCONCURRENT_RUNBASE_H
* A, V2 `. r6 g; X
2 \2 J8 V! m- d0 a$ X#include <QtCore/qglobal.h>
. k# h [% v% X8 ~% m$ x5 X P9 ^' {3 w' T1 Q7 n
#ifndef QT_NO_CONCURRENT+ i& S! u" G" Q6 k
8 V2 v0 }; ^5 g: O& r5 y5 C8 |: E2 }#include <QtCore/qfuture.h>$ v. Y- Q6 s* ~0 l
#include <QtCore/qrunnable.h>. k0 r* d) [% w; |9 J% Q
#include <QtCore/qthreadpool.h>
9 U; t& d, `/ n1 H7 H
% p* H' S7 `8 A& HQT_BEGIN_HEADER% R0 L: Y. D& p. s
QT_BEGIN_NAMESPACE* I! ^: o) N5 n5 [" n# F" r% r/ _! U
( @. [* j; r8 b" i7 \4 I& `1 IQT_MODULE(Core)
3 L4 ^+ s/ v v- c4 X/ h) e# ]
8 |0 m& W% _4 P, T* B#ifndef qdoc
. w- I# p+ T( y+ ?9 F
- ?" {7 _/ P6 J" j6 o& Lnamespace QtConcurrent {
! c) Z7 p3 {6 m
6 k! b9 ~' {- ~( ctemplate <typename T>. t' Z+ D2 C/ e
struct SelectSpecialization% j& h& S4 |5 P+ d" |0 P5 F
{$ R4 |& g! M9 | @& X' u# Y
template <class Normal, class Void>
* M9 ?' b: w9 {; n) | o struct Type { typedef Normal type; };5 v2 j6 D" m3 W j) y8 @4 p+ l
};! J& o1 |' t1 z" {2 n# `
+ B6 V3 C1 Q; U& d
template <>4 ^- N3 y) _# k1 ^7 J4 X% v
struct SelectSpecialization<void>
; L& c, I& R# X{7 E K; E0 `5 X% A
template <class Normal, class Void>3 L. s4 a( d/ B' D5 h% c; L! N
struct Type { typedef Void type; };. D- c( T% S# ]% m [5 M7 i2 s
};' k& ?; _8 o8 M0 M& b
/ }+ T7 q0 U: c: ttemplate <typename T>
& |* j3 V' o- ^9 Z) dclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable$ V( \. f6 ?8 \# Y
{/ J6 P! l) k% L8 z w" I! ^
public:
* r4 j* s5 P) M* M* e2 a QFuture<T> start()
1 g, C7 J# b+ j) E4 m; s& u* b& W {; r$ W q9 C0 l' i5 w/ h
this->setRunnable(this);
/ K( z% Z# ]' c0 s& Q8 t4 S this->reportStarted();5 b# ]% I$ Z( M* T
QFuture<T> future = this->future();* U$ m+ o/ E7 i. f9 r: e
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);0 j. S5 V% f7 x+ F0 \
return future;9 y4 P# j2 W! g$ v. d/ g+ Y) E( `
} U: Z A. @! ^' B+ g
! o8 n7 a' J; @, o void run() {}
2 J& q" H/ f' r' N9 _% S virtual void runFunctor() = 0;
: u* O& x2 n+ l% f* q" P! z};( a+ L4 K3 S9 D. y- Q% Z
3 [/ P, {0 x! t7 T+ W# i3 i
template <typename T>5 X4 U0 e0 r# a H$ O
class RunFunctionTask : public RunFunctionTaskBase<T>; z6 w6 a5 z1 d2 Q
{% ?' ~# a1 X1 N0 B
public:7 z/ }/ k- ^0 j7 r; v H
void run()
4 g# ~# ?6 E" I9 ~1 X {
0 ?3 q0 A& e/ L' s8 T if (this->isCanceled()) {
' ?. {' S# [! ^8 M) U' }5 o this->reportFinished();
5 z% k: H w. {% E% x; o' P return; L0 b8 X4 v( a! S1 B2 A1 t R+ C) n
}
: m- i4 `9 P5 |& m- u, f9 Y this->runFunctor();* R6 E1 o7 G! V% {+ s6 B! R
this->reportResult(result);! h, Z- W6 h. I3 v. y
this->reportFinished();1 L% M6 \* A( G8 D& U
}
( @$ q8 ?. J! F- J% [6 `' v T result;5 {" S3 P! u9 d
};
( N0 I! r: u# J2 L3 T8 o
; r" L! q9 |4 | ^, J6 Vtemplate <>
/ P* t8 [% [8 g( t/ U4 ?( k A# Oclass RunFunctionTask<void> : public RunFunctionTaskBase<void>: ?7 ?5 y' W- }2 A
{0 j; e- B$ f+ I' ~7 s& y; `
public:
. f, t2 B* o H3 s. T2 j' }% H. B1 I1 M void run()) u+ H4 _9 X% L0 C9 X$ m$ _
{0 B$ l+ d/ \+ L1 b8 ^" ]6 V0 P) Y
if (this->isCanceled()) {
, j. e! N4 b! T) u this->reportFinished();
- A% U/ w/ h) D" n/ M( k( _- O return;2 ]$ ]; w+ J" `6 @* [
}# C! \- z& O7 p o! F
this->runFunctor();8 D! B8 X5 }2 e w
this->reportFinished();
: |1 ?: n5 o1 }8 B) \- M) A; o- Z }2 `( Q. T8 F; l
};; M+ G; ^, q0 O" ^. W* u
. n, _, b- M+ g& Y- b* R} //namespace QtConcurrent) T, H3 P+ x! ]- ^
8 D' Z4 B! H: o7 v1 X6 s' `#endif //qdoc
* T' {0 a; x, g2 E5 o0 ], [
4 n, I9 _" d `9 B: s# GQT_END_NAMESPACE& } ]: b5 ]* ?2 r
QT_END_HEADER
e3 o' b5 e8 A' \, v' ?7 G0 z
: J" g, Z' \9 _8 U#endif // QT_NO_CONCURRENT
& ^& l4 [, m8 W: W6 ~3 s4 d: b
6 a( r# g5 }1 g#endif
2 [# {8 ~) T4 S7 Q
7 M' b4 X6 W% c7 I: R |
|