|
|
我对syslink进行交叉编译到arm,但是出现如下错误:5 V, s% Q C2 q" K; N8 M8 C3 ^
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
# X( |2 z3 `0 c- X$ i$ |2 _ z/ E6 a
这个头文件内容如下:3 N! p+ @6 D0 a Q! }7 o
#ifndef QTCONCURRENT_RUNBASE_H
, ?" v7 W+ o2 H# z#define QTCONCURRENT_RUNBASE_H
- j- Y% m r$ s5 {1 Y
( q# F! r9 L8 v0 \0 u( o#include <QtCore/qglobal.h>1 `" w& n# V; s v {$ M
, z4 h; J% X, _
#ifndef QT_NO_CONCURRENT% b4 V3 M* T: w, B" b+ y, P
9 F5 W! s% D7 D$ c$ Z& C2 a
#include <QtCore/qfuture.h>
( U: I1 {; F+ E! e+ H8 Z# |& L- s#include <QtCore/qrunnable.h>' A8 m) B5 w- K( {" \" C1 \# D
#include <QtCore/qthreadpool.h>
5 F9 X4 v- x! }" @7 M
$ X9 q- e) n9 M0 vQT_BEGIN_HEADER- E# Y- S( Z8 `) \5 q
QT_BEGIN_NAMESPACE
3 h* a- Z: }, m8 u3 ]; N4 `0 j z, y7 e' \3 S2 E. O
QT_MODULE(Core)% u* j" u4 t$ T- G
A2 f j; m0 \/ F' A
#ifndef qdoc
. q, k, y7 s% e' x' Z+ Q2 N+ r( t b: @7 Q3 x
namespace QtConcurrent {
- }- i& x, O2 U1 b5 y
5 y/ i! Y4 ^, n9 htemplate <typename T>
$ s B) R4 H( L+ F3 Astruct SelectSpecialization' G" G# R0 T& c6 Q. g
{' d1 O1 C1 c6 l; e- g% `; Y
template <class Normal, class Void>
: ^+ P# w' u Z- l" M& Z3 N struct Type { typedef Normal type; };
& }7 a/ y/ P9 Q9 b# X, b};9 }! b- ^; G( _+ ]8 @0 O: ?$ \" r% B2 c
' w# A& o/ E4 _" f: L: E6 etemplate <>
/ ?( E( l3 l' Z) f. ]$ [struct SelectSpecialization<void>
$ H5 j* L; P6 b3 `: u{6 p: u5 [6 |1 {% N
template <class Normal, class Void>
& D. a' b1 P" n/ i( K" W( s struct Type { typedef Void type; };( U& A" O# L: d0 _; t; Z
};6 a0 ?! _# c. r' f
7 h" H$ U2 f' A! ~" w" Q" S; Dtemplate <typename T>1 C$ N0 m+ \( ^
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
[- t3 f; z/ q1 U3 m- { E' g9 t( d! u{, h: A; u# t/ C
public:+ v* \1 N9 J, F: D9 U: M. [' ?- k. T
QFuture<T> start(). l6 W) }/ {. Y. C( D' R1 I0 l" ?3 M
{
2 j- U* I$ `' x/ g& k9 `: q this->setRunnable(this);: V8 x& w, p- S8 a
this->reportStarted();( z. z' Q3 q% O! n+ A
QFuture<T> future = this->future();0 v9 o% \/ B" F' ]6 g4 C
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);8 J; c6 n/ S5 G' O- J1 [
return future;4 [( F6 {: t1 T
}* m4 ?3 c( U+ b4 D& N, U5 Y
i% L% g3 {) x( k
void run() {}8 k. Q! }4 k1 Y2 `
virtual void runFunctor() = 0;
% q/ N9 q/ S- i h' S};
. Z0 X: V, s. @5 |' R
7 Z( I: }. S( f( h/ C9 y* a% _6 gtemplate <typename T>
# C4 f8 N4 p* m! L' [9 H2 j6 Lclass RunFunctionTask : public RunFunctionTaskBase<T>
, y# H- E5 l' Z" N{3 m# e; \3 \' L9 M5 i
public:
' \$ Y7 Y8 t0 _+ w1 U8 B8 u void run()! [6 B8 `. Y" _. U* W: j
{
4 t; t' j2 K$ E+ p if (this->isCanceled()) {/ M* d+ x! s6 c( _
this->reportFinished();
9 S! `0 r4 b& Y' ^8 S/ u' F return;
2 f, U$ e. g; H% j* k* T }+ U1 p+ _$ ^. O7 ^- q( H& Y4 u
this->runFunctor();3 g/ H- C8 Q- a7 v2 \, `
this->reportResult(result);0 b5 o1 V) N5 D" K
this->reportFinished();: b9 {, l$ p3 X% O- R
}& B- d; \) v, O. i8 m
T result;( g& |. `5 ]. U+ R2 ~1 _( C
};7 e; W* s1 X3 N4 {
% Q9 |- V; t4 N# M' K
template <>' K! s+ v/ R7 T: U3 x5 e
class RunFunctionTask<void> : public RunFunctionTaskBase<void>2 z* E9 `% c& A+ v9 g3 X
{4 a# b6 I- k, d1 J# f8 s# p' T
public:& L% {; h. i& H/ v8 N
void run()
; x& W) p( W" _ j# {/ o) Q' z {. Y4 z5 v4 W& w
if (this->isCanceled()) {" j J; N- h' H/ z
this->reportFinished();
* U/ R+ h6 l5 J$ B# w! [2 G return;
2 W& g U" N. N, X }3 p3 M+ n" U, z5 y% Y
this->runFunctor();
$ I7 O W ]- E% e8 O4 _( A this->reportFinished();" I9 A6 X2 K( n% {
}
4 c, Z% h w' h$ p% D& G};0 c {: p# q; Q6 d( C0 q
2 g6 @2 @4 K5 D& b9 ^} //namespace QtConcurrent
1 }- ?5 @; q" J4 U; {) i5 i
+ O7 o' d; ^0 g8 f I! Z#endif //qdoc
# L1 f" k# b! k5 Q4 D0 }5 @1 Q% k1 X1 T0 l/ a8 \
QT_END_NAMESPACE
2 c h' R1 W3 r5 w2 q- v2 yQT_END_HEADER
4 ?* j& L0 {; ?) I8 Q4 Q) w1 p
0 e- ?8 C# W& j, }" ~2 K' T#endif // QT_NO_CONCURRENT
7 w& l/ M$ n' P& f( t6 d. b- Y2 D# E2 h4 D& C2 @
#endif
; `: k9 V9 ^1 u3 H5 x7 R! c8 y" K" |! i
|
|