|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
6 a) [ w8 s/ o8 r1 R/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
4 x/ x5 v: n+ J8 F4 B! O- K
$ f* `3 D2 O; L* s' t" P这个头文件内容如下:9 P% ^' n) @) x9 I
#ifndef QTCONCURRENT_RUNBASE_H
' |9 J9 {( |9 k* W: H; m#define QTCONCURRENT_RUNBASE_H# d! B: }/ P9 X5 x8 W
6 V0 J j3 H* t1 }1 t( J#include <QtCore/qglobal.h>
. V+ I4 J( ^( T) r3 d8 G, q8 h% y& p: @; {
#ifndef QT_NO_CONCURRENT+ S+ u7 a6 H% i/ Y
7 N8 q4 _) |! r7 u2 p/ q3 q" T#include <QtCore/qfuture.h>
3 q; U0 o* I+ I4 W1 _. _' u3 [#include <QtCore/qrunnable.h>
% ?1 Q! F; a( ?( c! t/ @#include <QtCore/qthreadpool.h>7 {; Q y& r d4 Y" X. @
' ]% N& X" P' D A+ `9 z
QT_BEGIN_HEADER
/ E# x( z, ?' [! m% U( n& o/ QQT_BEGIN_NAMESPACE# P5 y2 N$ \8 {% l5 b
* L$ Z' J5 o; _! p. X6 G1 DQT_MODULE(Core)
: Q* |# a) J4 o; H# s# ]# M' }4 m3 I* F
#ifndef qdoc+ p$ N% K* s5 W. W$ ]+ v
3 Y) p, T/ T" {( H+ q5 x: M
namespace QtConcurrent {
" n" u; L+ x0 B/ B- [) h; n5 ?7 h+ F4 z6 g* T
template <typename T>
0 @! L* o. Q( D( ustruct SelectSpecialization
% W7 P1 [. F! g6 @+ U{
4 G2 B5 K- z: S9 ^0 q% C8 K4 y9 V template <class Normal, class Void>
2 ~% J6 o+ i/ r: T" l struct Type { typedef Normal type; };
9 e" H5 {8 W/ [! ?( R};
' E4 X0 \9 D/ B3 z8 m2 G; \' r B2 e# k$ x
template <>4 t7 }% @2 ]5 h7 E l, O- r7 J/ v
struct SelectSpecialization<void>7 s: ]: Y% z+ e# V
{
7 C+ A' ?& [7 t5 w" e. o7 p! k template <class Normal, class Void>+ _6 }/ T( @& T( z8 [: t
struct Type { typedef Void type; };, K* R5 y/ F& q
};% O: f- l8 c6 D9 k: u
1 {2 ~4 C2 c& L( E0 etemplate <typename T>) }% W) k0 p; e1 g6 C6 ^
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
a4 ]$ }$ z/ m7 s; Y{/ `/ [, m% u* c) c+ W
public:
j7 [* a4 ]7 ]8 x& G QFuture<T> start()* }8 }' B2 p' I; S
{0 H$ ~/ @5 R: B7 l) q* I* L" n0 R
this->setRunnable(this);5 C) p7 g% I2 o" z- X
this->reportStarted();: W/ z# F: B) v
QFuture<T> future = this->future();
* t6 _0 ?" E) n3 m! f QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
( Y) i- E' x- A+ Q2 }# s return future;6 Y1 {) y6 W9 |7 a* F. `' k
}
& b R% l2 O; K" Q1 z0 C% Y
, P' \4 B V1 h* r- E4 P0 ^4 J" A void run() {}( ]" t5 d$ K! I5 O
virtual void runFunctor() = 0;
) u3 i7 X' ?4 D0 U};
: [" q5 ^* r. e# N6 W$ C' a: T7 q- n
0 n0 R3 R2 g& F ]/ v5 C8 ]template <typename T>- U! C7 y( k& Z& M; ?* D
class RunFunctionTask : public RunFunctionTaskBase<T>& E8 b" _* Y y2 K1 a" m! D/ S1 \
{
2 k9 ^1 x9 q- e7 ^6 qpublic:+ ~, l' y4 Z8 u! H- S+ j7 ^
void run(): j$ w# W5 R! {6 c7 z; c( l- c
{
9 }# j0 d3 x. R+ K' q' H3 Z: k if (this->isCanceled()) {
: w; @. T" {7 w' F3 P5 t8 G this->reportFinished();' c$ D/ L* ]2 [4 N
return;; L$ s: {& a5 k) W
}
: |4 u# V. j+ B h+ F" V this->runFunctor();5 P+ m! Z; u8 q& g8 A8 \. ~
this->reportResult(result);3 v! o4 v) z. r7 L: h/ K3 w) Y% H
this->reportFinished();
q& b8 Y1 B3 q }4 y9 _- N) C8 c" s! z% E
T result;
) y/ r8 M: E1 L7 F1 E& O- ]4 l};, d8 D. T2 R2 L' o; f- Z
9 s5 V0 |) `# @: |template <>
" ~! J/ I% }( `1 e$ A. Aclass RunFunctionTask<void> : public RunFunctionTaskBase<void>" E3 |1 ]- X" z" O
{ E* l5 Y6 ^# D& v0 R: R# C2 Q
public:" V3 M# K0 e1 [) ?/ l
void run()
5 ?) p( ^6 X/ Q; {0 p" T( v- `: N {2 i w p5 E$ C8 {' R& R1 S
if (this->isCanceled()) {
! O* D3 ^+ O2 y7 n: J this->reportFinished();" R, m, v* u) @
return;5 A; E$ B2 s6 e, T( |* Q8 t
}/ N" z$ w) a7 g5 ^6 X
this->runFunctor();
8 u6 a* R& x7 i: n; f this->reportFinished();- E3 J$ U, }- r' V
}0 D5 s% I3 d0 n2 C
};% n, c- N7 J: _5 c
" j6 f$ R. c3 V9 E+ c
} //namespace QtConcurrent
2 _- U- B# p9 C. `& a
4 H. A# A, n4 K7 c( Q! h7 W#endif //qdoc9 ?0 G. [6 h& A% X$ O! I
8 i$ N' ~3 d& Z
QT_END_NAMESPACE; v8 Y7 ^# q7 P. J( R: O
QT_END_HEADER
! ` C5 ^6 U# t
0 E5 s/ @5 i f+ d+ P#endif // QT_NO_CONCURRENT
/ A/ g: v+ c- B1 x0 s" U/ {8 u# j/ e7 a
#endif
# V7 X0 l) @6 E* A* N B% t
* B5 P3 v$ X0 e4 G |
|