|
|
我对syslink进行交叉编译到arm,但是出现如下错误:3 P: p9 U* \+ q) |' }
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter') S; N6 s* F! @2 d* V. l
$ j6 H. A! s4 S' Z- Q& ]
这个头文件内容如下:5 z u' r6 p" u* A' ~8 m6 c
#ifndef QTCONCURRENT_RUNBASE_H
! M: H" C( p6 V2 D, B5 X#define QTCONCURRENT_RUNBASE_H
: B. c1 D) x, }! p4 A8 i/ ^9 t& i
$ K. J7 s/ t# d0 H# ]. o#include <QtCore/qglobal.h>0 [, i! q+ A& o+ H- n% U
0 u- K3 V8 E0 P/ r/ {! O- e7 q
#ifndef QT_NO_CONCURRENT
3 _0 f% H/ i( X/ x: j: B
+ R$ K: W; C4 b" W#include <QtCore/qfuture.h>8 W8 q" B, r% u% m9 G
#include <QtCore/qrunnable.h>
( _* f# K5 b, H# [2 {) y#include <QtCore/qthreadpool.h>
# y2 o+ c, c& V% D
9 @3 `% E5 K$ X9 {2 t2 p1 S4 FQT_BEGIN_HEADER
! O3 K3 T, J% @0 {$ f6 P9 mQT_BEGIN_NAMESPACE
. K* F0 ?8 k7 v+ f; W7 Y: c
& E6 H: D0 r1 d6 `+ I% J0 t3 S# wQT_MODULE(Core)
$ a' T, C! I9 H( j& J: b* C. k
#ifndef qdoc
% B, Z6 ^% x+ X5 t8 K
4 H, _* D n4 L9 z+ K7 s; `namespace QtConcurrent {
6 E' Z: [7 e' c& O* W/ }
8 O) N, o d! c0 N* Ytemplate <typename T>+ V; w2 ?, P& B& t: ?& J& y
struct SelectSpecialization% f2 Z ~) P" I9 b
{
5 I! D8 ~ A# G& v3 o* \, [8 x3 @ template <class Normal, class Void>) E$ g; ]6 m0 T* B4 j9 r$ k" s
struct Type { typedef Normal type; };
5 @/ F, V( A8 Y) y};+ f0 h$ U& S, {
/ A6 c. ?% ~! t; D# v! q, j" l4 n6 P
template <>9 @: R5 y( i& e% S* W. D
struct SelectSpecialization<void>
' ^- m' u. V* m{
! V) E, a* K2 |2 l4 [ v& H, X template <class Normal, class Void>
0 K) t# H/ G8 o# c9 N; ~ struct Type { typedef Void type; };
* O5 w J' z/ a0 d};! D8 M" k' M Q) @7 u
3 I" A/ ~5 `0 ]: u9 A Z, m) p
template <typename T>. D% L% v- `* |* K& R
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
5 i& n8 h# g$ k{
5 W+ ^+ v# F3 H# u! [, Y2 Vpublic:4 C$ G1 g4 N, l( m
QFuture<T> start()
: G/ l, v$ M8 L4 x {$ x! f+ e: Y# j5 J" p" c% _1 r
this->setRunnable(this);& I4 \) w2 u& [9 U& ~. d5 w" Z ~
this->reportStarted();
4 E6 F2 z* S* c/ @9 l% P) j QFuture<T> future = this->future();, f8 D# ?# k3 K
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);; a& z; ]$ X% m: x2 o
return future;
7 }, x/ O+ ?7 y6 q+ h2 n9 @/ U; D }
$ n: `" |+ G* z2 C
p5 T7 F! o5 Z0 m void run() {}
0 S2 B# a) ]7 M9 j* x virtual void runFunctor() = 0;
- ?7 i' u- N. ]( q6 [};
; ]- t% A. h/ w- ]$ k* G, u2 X3 r6 A& T; c! J
template <typename T>
( ]3 ?% D( F; t7 {: nclass RunFunctionTask : public RunFunctionTaskBase<T>
r9 Z9 L. o; z ?' z, W1 i{
( ]+ V; n, K) hpublic:
) w6 C+ f0 F6 M; v; V* o void run()' E; @& |' x b% r# o6 [
{
" }5 c# ^2 X4 k if (this->isCanceled()) {# W% Y7 o3 w& s
this->reportFinished();
n; a9 c5 ~, e. ~) R" {, k return;4 g& I! p: U) X B$ r( `
}
; `3 M( Z/ f# {- l4 E2 o this->runFunctor();
4 f7 r+ l7 k( B this->reportResult(result);& S' _, w* ?, {; `- n* |2 ^
this->reportFinished();
7 B3 a; E2 Q1 E8 U4 `* O }, [& \/ q3 s+ A0 S; K" g* Q
T result;' {- y/ {8 {; u5 j0 X' M
};% Y1 M+ \/ ^ Y/ {: D4 |
2 Q; @3 o: \7 c! r$ x
template <>
. }$ f% o4 u* q, e( b ]/ z% q2 U+ Z& pclass RunFunctionTask<void> : public RunFunctionTaskBase<void>' U# z0 j+ \5 W6 O: d$ a4 n8 \
{
( M! I% M" E$ v/ u4 b8 ppublic:
! Z; H6 f( b$ W- { void run()
) n' g& N% ^3 k9 z9 w% J- ` {
$ @0 |) |* d. ^9 D" K if (this->isCanceled()) {
8 K |7 O7 W6 X$ ^* x( X this->reportFinished();
% J; P* c2 l2 q return;
& D1 Q; S. ]( h& [. M1 b }
q$ g3 M+ K* k2 H- _5 }0 Y% t- { this->runFunctor();7 ?( g/ R& Y+ F1 Q
this->reportFinished();
+ J8 r" e/ w% }) y/ t5 } }1 R! E$ X) W% l) z& k7 z
};# ~" u# ^* Z9 |; p T' d# v
) P* {+ `, p1 k} //namespace QtConcurrent
, W, N7 M$ q! m
- a5 Y( }5 x5 i- Y9 t6 v#endif //qdoc0 s4 h3 j n( P* ^1 O) E/ G
; i4 ^* u! R: `1 N5 i: p$ L
QT_END_NAMESPACE! u- k/ G4 e# c K' _
QT_END_HEADER+ w: v/ f. @1 N8 j5 n2 t
F* [. k* [& ?7 i
#endif // QT_NO_CONCURRENT7 @, `9 s7 z: k' e8 o& e8 ^+ _) f3 x
/ B4 u. y$ z" Z6 B3 i6 W$ {#endif
8 C3 {4 Y- c: T8 X9 ^& {
: D/ T& o) Y8 U2 m S4 F) G/ D% y3 b |
|