|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
, Y) c6 [) N9 s1 k+ H/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'0 z3 `9 ?5 c; G; ]! Y
% F/ g# @: _" k% v9 S- N0 S) C这个头文件内容如下:4 \# F j; k$ t4 C' u* Y
#ifndef QTCONCURRENT_RUNBASE_H4 }' }" V. m/ D8 f* V2 x
#define QTCONCURRENT_RUNBASE_H
6 b* ?/ S& A, Y+ ?3 l2 s" `
8 Y/ Q* @# x4 s5 R$ V* [#include <QtCore/qglobal.h>
+ X6 E" E8 [% o1 ]! J& @+ i3 W" z i8 w% b: t
#ifndef QT_NO_CONCURRENT; p" C1 S5 c, d" A
! Z: f1 R9 w, D$ X$ Q% A5 A
#include <QtCore/qfuture.h>
% [ W ]$ i: j0 e, |9 x0 X#include <QtCore/qrunnable.h>8 X; S# ]/ m# r% b0 |; c4 d) T! n
#include <QtCore/qthreadpool.h>' D8 y3 R; Y* g$ r
0 J3 z8 G0 L- Z( }, G" r, q4 n$ U
QT_BEGIN_HEADER# Z) N3 ?1 L2 x6 U+ o
QT_BEGIN_NAMESPACE q! I& T' H' t, }7 P. a6 V
! v7 X. Z/ a1 Z6 C$ C
QT_MODULE(Core)
" I3 P Z: \' m. }9 [3 u4 n) G' P* P1 _
#ifndef qdoc
4 A% z. c0 N! S7 M- C1 @
3 [0 \3 g4 N) h/ w+ L k/ Y; z* S+ ^namespace QtConcurrent { ~4 l4 q2 g* \1 o' p
$ W5 A2 G. l& d8 @% N: T, D5 v7 R& y/ Z2 xtemplate <typename T>
8 ]' u3 _. C, v. Estruct SelectSpecialization. D; u/ w- b, a. L$ v5 I* _
{
# W5 F( _8 R' C C6 Q0 V- U template <class Normal, class Void>
" \/ Z5 {5 }8 m' d( N1 B# U# ~ struct Type { typedef Normal type; };; x' V& Z5 F, n! s4 r
};
* u& L/ @+ G0 q& j- D/ O. s. u) l4 \* I9 s$ p7 @8 [
template <>/ [* F. }) k: G6 d
struct SelectSpecialization<void>
; J+ ^5 O! p$ C5 _{* M B: d% D4 B4 P
template <class Normal, class Void>
! |% |5 o+ q% x! Y* ?/ O' L struct Type { typedef Void type; };' @3 G( j- |* s3 Q2 H/ M
};. t2 p; N2 X5 Z# ^2 x6 U; S8 u' V
) ^0 t6 y4 W- N, v
template <typename T>; o) h6 a" x2 ]* B
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
+ M, `+ N p/ R8 Z{
% V: `4 _' H& b8 @: V/ Epublic:, i2 M7 z6 |' W) `6 l
QFuture<T> start()
# n, X; f% R4 d) w- i {4 z2 W- x) N& W6 y# R1 G8 J
this->setRunnable(this);7 L5 X( y6 e) j8 Z8 k
this->reportStarted();
F a% d( n8 k( U% V( F QFuture<T> future = this->future();
1 ^- d8 G5 B( ]. M QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
6 A1 z G2 ^& y( {4 b4 o- L return future;9 i* A- k/ F2 v" |- U) t0 p
}
7 Z- m" H4 @) o/ z5 \) |- @& b4 {1 [
6 G' |5 L4 q2 L; R4 {0 ] O! {* p void run() {}7 ^6 d0 C* r. S3 T* r9 t
virtual void runFunctor() = 0;8 m* A& J, N4 e" [$ W1 |; m
};
% v. r+ \7 n: M8 e% s s: X/ ?+ ?$ B2 ?( F9 [5 W' q) R& j
template <typename T>4 x V% V; [# \1 a3 C8 X
class RunFunctionTask : public RunFunctionTaskBase<T>
+ ?! u) H% N: w+ N5 I{
% S. J0 z1 c5 z, zpublic:4 N/ B' Q0 k( |4 v- H- s) ]( n
void run()
( [. F& P' ]% I6 Q5 c5 ]; U {
" j. x3 T$ u+ h$ Q) \) D: [" _ if (this->isCanceled()) {) A% g+ _+ G% r3 L7 o
this->reportFinished();; z) u: R5 A, ]) Q. ^
return;
& ^" {( T& g3 H/ G1 z/ L }/ G- a8 Z; k8 A- d! ]) e7 y
this->runFunctor();9 E0 q2 t: z. v& Q8 ?
this->reportResult(result);
1 i9 a* E" S: v3 C. Q this->reportFinished();
0 y2 J O1 i) ?) R }
' Q+ t: J3 H9 N/ C5 t2 a T result;
2 c6 ? n9 M4 `# N8 ^: V/ i};
^. |0 ~5 r4 m* q
/ J2 F. @+ O1 H+ Ktemplate <>
" j9 ?7 x' F' \; g# ]% hclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
9 t* U! f0 m; }; R{# l! X" B" R$ H% k, }7 ^, D
public:+ ` i! i0 F* f! X
void run()
. X( H l( Q! v5 E3 C( H {
; w6 N3 a: {- ~. [7 } if (this->isCanceled()) {
& T+ V4 g4 L0 i this->reportFinished();
( S8 a! [3 X: y2 J K return;8 k8 K) h h2 h2 `
}
1 L) h1 U' B$ k! T$ G( \) ` this->runFunctor();
) ^( c2 F# s3 S' I7 F this->reportFinished();4 ]/ t% S9 u: g* o$ F
}
( k: {4 E+ _+ ?' c9 r};( \8 `2 f5 [( l- N) R
: {- e: p7 g' S2 Y6 x1 p$ N
} //namespace QtConcurrent
1 Y$ v$ }4 P& N) Q
& ?& Z6 }0 X8 b; L#endif //qdoc% M7 K5 `# |4 U" A n! a
+ Y9 `% a( t& X( p- M, X" }0 ]$ ]
QT_END_NAMESPACE
) t- i# `" K/ r: i/ uQT_END_HEADER5 _* O/ s/ c6 R; n( D
: q. L* E( H. s3 V6 q1 H#endif // QT_NO_CONCURRENT
- l! A: [$ v* V% n! w3 _# V4 r, q. |% |7 H# G K3 s# H- n
#endif" }# P$ E; c0 h4 g' B
% @" i- b- j6 e
|
|