|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
/ R! q9 u0 s" r& w% M" P5 x/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 m/ @* `/ i. L, a6 N' w& M
+ s" f6 Y7 k' [6 x e, K+ y! @这个头文件内容如下:
: t9 _3 b3 A) h! g, S$ o- K#ifndef QTCONCURRENT_RUNBASE_H
" B; X, `; T x) P8 Z#define QTCONCURRENT_RUNBASE_H
* }8 l- q3 j% e! S1 y$ ?6 t
* T2 l8 `! a& r+ {3 F. c3 z3 N7 \#include <QtCore/qglobal.h>
, l ]2 C; J' [& S }0 Z! @9 N
( g& h: w& z$ U, F#ifndef QT_NO_CONCURRENT
0 w) X0 W* O9 p' n% F
# e' F$ N9 g% \7 P7 Z1 r#include <QtCore/qfuture.h>! Y! y' ~& N/ g( S/ f( [, a
#include <QtCore/qrunnable.h>
2 e" X1 t5 l; s+ n( {3 U: W: B3 A#include <QtCore/qthreadpool.h>
3 C7 z$ _+ g3 W0 N' H) ^
9 r' z& p1 P! B0 n9 p' j; EQT_BEGIN_HEADER+ Y/ d$ i( c& ^
QT_BEGIN_NAMESPACE8 J4 N+ z6 R) `8 N% C% \% a0 v8 ]; G
6 L" U4 y4 ` W* \. o. cQT_MODULE(Core)3 `7 g0 D% F- \4 }. `+ Q' B
5 O8 F; X% w3 O, r
#ifndef qdoc6 y' }' D6 R2 m, V d$ C2 ?, C
( L5 s* r' P7 `2 x. S! B0 p* ]
namespace QtConcurrent {
" \/ X' a" @" \6 ]3 T& V
; N' q" M0 B8 Q O2 btemplate <typename T>
% L9 P! M( D( ~2 ~8 ystruct SelectSpecialization
- U/ _. }- W( D1 g8 g{
: S9 ]& D8 l* |+ R' R6 w2 F/ F template <class Normal, class Void>1 D# g/ l' a& h% L# `
struct Type { typedef Normal type; }; o5 s& C; C7 g2 ?. f! Q
};
8 d; B# l# M5 p: Y j" ~3 @- l
- x1 V; p+ }2 d* m4 V! ktemplate <>
6 h L6 J) D3 O- [0 O0 Pstruct SelectSpecialization<void>; U+ V) R4 E. M0 t
{
; e% f5 |! {7 _7 J8 _* @7 Y) T template <class Normal, class Void>
/ k4 H o4 p1 g% n struct Type { typedef Void type; };
% [% P- z$ G! z1 r5 H% U1 l};
( _6 @) B. U6 X
9 I3 ^1 j( t3 D9 q/ I6 d/ F f5 q: Xtemplate <typename T>
7 K' d! V) i9 {. Iclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
% L0 V$ |( Y0 e; |) W' n1 i% ?. z{
4 q; G+ D6 a/ I6 v; ~ ^# G6 Upublic:
0 @; a& N/ g, w9 O7 { QFuture<T> start()
: ?5 N9 h! x1 S* S/ B8 z6 Q {$ J: E+ S/ x3 i3 O: c) ~2 I
this->setRunnable(this);
! v: F' f4 _; F this->reportStarted();
0 j2 D! T2 E. H QFuture<T> future = this->future();1 @. w! Z! C6 p% c
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
m+ s" A% D0 v. [. Q h) R return future;
( [& V6 b @, v4 C$ x) @ }
F! J6 u2 n, y6 W- v
5 m) [8 v3 Z c, K6 E# ~ void run() {}
6 S5 h$ L3 i& O+ t- G: j# ` virtual void runFunctor() = 0;
3 p1 {% z8 K( Q/ \};
* \3 ]8 M; `$ U/ A* e' S( [5 D( ~' |. Y& S
template <typename T>' Q. L/ g" e0 U, ^ ?
class RunFunctionTask : public RunFunctionTaskBase<T>
! s+ `9 {! x7 v; B{
" F7 o6 C( B: P) Y# B0 rpublic:& r" v' ], z* P, h4 X
void run()
$ u" |6 c d2 u, u# x {0 p+ x# Y. U8 O& F$ ^) D
if (this->isCanceled()) {
+ i% M! `& l( u/ N5 | this->reportFinished();$ v% L; e* _6 P
return;
' Z" d h/ v6 I: i8 g }$ M1 I6 K7 X: n9 r5 t( |
this->runFunctor();' h x$ O/ @1 f- N8 u7 V( a
this->reportResult(result);
) i& p; L: c9 L0 T this->reportFinished(); o' f9 Z# v- }9 U9 F
}" D& W9 ]; w5 U. Z( s; V$ F" y* Z
T result;
1 l1 M4 O8 p1 r6 w6 Y; r};" D. F. s: F/ B. R
6 u0 G) }4 y+ I4 H" |3 C& H4 utemplate <>
+ W; a6 J( U1 x! F, ?' xclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
0 O/ p' ]9 @8 W( d3 R{8 ^# e6 ]4 b# j
public:
: j" s( e5 c# D5 J: I8 N void run()& H1 V1 k7 V2 S: q' e
{% J- }8 `& o3 c. }# H7 _5 w; J
if (this->isCanceled()) {
. r- z& o& o4 s) g3 s. _+ s0 X7 ^ this->reportFinished();7 @: X z' Q. Y2 A
return;
& G. v; _/ v7 @- ^, Q( G; ^2 n6 b }
4 [' o7 r/ x, A9 T this->runFunctor();
( H; t/ T' F. n/ b1 |& j this->reportFinished();
/ g) a& n. v) |0 j2 S }. k* r; q6 u7 l! L( s( D! K! H
};2 g8 g0 E5 {7 {/ B8 ~( Z
( i" z# n% l& g8 g/ i
} //namespace QtConcurrent
/ o, W& z6 y# Y @& Y! `# R+ D X f( d% ^9 [0 M+ Q* @0 g3 A5 e
#endif //qdoc
/ x3 b( G' j! F4 E& D- P" ^3 j- ~; T* w/ A3 T
QT_END_NAMESPACE
/ L! \& _! W1 K. s4 k1 t0 EQT_END_HEADER" A! _& c% J! k8 T4 G% H3 ~5 W# t
8 j9 z5 w4 [5 Y" k! i# ]
#endif // QT_NO_CONCURRENT
; Q3 |# x& Y3 g9 Z4 W
% X" T+ e1 k. i$ w# B9 S#endif$ P$ t' m2 {; f& t; O( L
. r" c: h5 I; A# f/ H$ n
|
|