|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
, s' P Q1 J. y/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'% ^3 c4 R( s+ _8 M& G
6 }+ ]& S& Z) X4 Z; i8 X
这个头文件内容如下:
/ I! i( l2 y) }( I! {( m. \; O#ifndef QTCONCURRENT_RUNBASE_H& _4 M; ~2 q) |3 ]
#define QTCONCURRENT_RUNBASE_H5 F0 h% p, T; v% r
& n6 q1 @! Z3 J* F" C0 `9 L#include <QtCore/qglobal.h>
$ A# V) {9 A! N0 X' V6 ?
- E1 s! S& G* h# l4 H% x- w#ifndef QT_NO_CONCURRENT
: r4 t# P3 {/ O( i% B8 V: o) N H( x" q( y8 h( \8 }
#include <QtCore/qfuture.h>
. c, A" x! g" L#include <QtCore/qrunnable.h>+ M* W) h; H; a$ P% p* Q) Z
#include <QtCore/qthreadpool.h>
, i- N/ w4 N5 ]9 v& Y- O7 h% f( h$ a7 A6 d; O) s! R
QT_BEGIN_HEADER
; h: d' K' {$ @$ pQT_BEGIN_NAMESPACE
7 o- N( e& y4 M3 F& n8 J/ [- \. D: t6 R/ `' p% E2 [
QT_MODULE(Core)& b( V3 N+ K# m
; S" y0 E. `# |+ v: C) C9 e+ R) ^#ifndef qdoc1 |# v1 {. B$ v B g) f
+ j4 `( s+ A# O
namespace QtConcurrent {
: Y9 e: l- x( C0 U2 [+ i# \) }4 I" o" A2 D# {/ q6 J5 Y
template <typename T>
6 {3 [) |- r S# z" Ostruct SelectSpecialization/ |4 @1 l0 ]! \: _& M
{9 C" g9 g6 c7 i) e# n$ c. d
template <class Normal, class Void>
j6 C1 o' \ B, P struct Type { typedef Normal type; };4 F7 Z% L8 r( b/ |* o. x
};5 S3 p& A9 R' P3 q% v$ ?7 v, ?
2 d; u4 R) f0 X% g. N7 M) d& n, Utemplate <>
3 c, @6 _0 f" p5 E1 n z$ R; w; Astruct SelectSpecialization<void>, T4 z% B# E, @! b+ F" ]- G' ]# K4 }
{# R* G2 l5 Q4 Y8 M1 `- g* M$ n
template <class Normal, class Void>1 b8 w/ u8 w6 _( ]8 D7 i. q
struct Type { typedef Void type; };* b$ V% q& { w& J! H
};8 m! ^3 R4 J, X% \" g
) A8 d* M2 h* A# k# D$ R
template <typename T>
- _. j: H0 ?' A3 u( T. F uclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
3 Q6 s6 K% O0 i7 S. C( Y5 @{
! H* _: T* j$ H/ O3 t" gpublic:" P+ K5 \$ O9 y
QFuture<T> start()
3 O, C1 R/ Z, e- }" Z {
2 S# e& T1 r7 F6 z$ E, @9 d$ u this->setRunnable(this);
, z# `" {) {1 _' K this->reportStarted();4 r; C8 ^) G S8 E0 Q
QFuture<T> future = this->future();
* P6 d, D" x5 V h, n0 K0 [ QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
" c8 W6 }' G6 ^' C return future;
$ N3 `4 p5 L$ u; ?9 E5 o; w+ l }7 [ ?# T% b) d; `+ F
1 U9 g Z. C2 b5 |* w1 P
void run() {}
9 h8 t! U1 Q! a4 } i virtual void runFunctor() = 0;
0 F7 d& O& M5 J1 y};
0 _3 y" D' X5 {' c% g3 g
% J- p( K* v+ R; X4 z% etemplate <typename T>
% }9 L+ L4 Z$ N% m& Iclass RunFunctionTask : public RunFunctionTaskBase<T>* G0 U# o6 F7 J! Q1 A. k: K6 Y
{* x3 p6 F E1 Y3 e
public:9 k: r+ t6 O- \4 b2 m# D
void run(). b, F* V1 P' z) B- M, M5 Q
{
. `7 ~+ j% Z- d- p+ G if (this->isCanceled()) {
' e7 d5 d1 ]: W3 l& Q this->reportFinished();
& s& c+ j4 x9 Q* u return;$ c5 J# n1 T# L8 g
}
+ |. j b* H: c a+ ?: ~ this->runFunctor();; X: Z3 q' i# G
this->reportResult(result);! V6 b9 c; Y* l
this->reportFinished();! u8 P! K0 K% D! ^5 h8 b8 g' }2 Q9 S
} d0 @' R3 m7 n& ]6 Y; `$ g- `, d8 B# y; c
T result;
( Z n. C4 m, Q9 S: S7 a* L};
. F3 f3 r* Y! O: [2 ]3 z% P6 W ] p( [4 D- n. K9 y
template <>) m# N0 _) J0 A) O: e$ ]
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
) |6 |7 \% \! f: n3 y; p$ `{
' O) j" L7 J) @6 d6 V; Cpublic:% q; A- g# I( D7 z3 V
void run()2 |5 a4 d" O' G7 x0 h: T* y
{
: j1 N4 i! B. l' w$ _ if (this->isCanceled()) {
5 W7 T3 w$ t+ J this->reportFinished();
. M( m7 V/ b, u' a7 D% o1 B return;9 S2 s) D; E$ W9 d5 \; ?5 h# |
}
, W, Z& p3 b3 M% v# B3 }( k9 W1 j this->runFunctor();
0 R4 i( [5 A9 p0 X% ^. p this->reportFinished();# Z5 N1 g. a Y8 L, @9 t# n
}
* v G1 J- N8 h3 d2 U: W$ `5 n};' ]1 ~3 J4 \2 Y! L! N
' Y4 s3 u# m ~8 k6 I} //namespace QtConcurrent
0 I% |: A: |+ W$ d
& t, r* @0 C! ^#endif //qdoc& Q; G! U# S( |
/ ^; f8 c- S4 p- l0 p) }QT_END_NAMESPACE1 x% X% Z: t8 k" `- l
QT_END_HEADER
2 o2 b5 W' K# T0 ?0 Z3 B! t4 n8 y8 X8 R: x c9 _" A; a% {
#endif // QT_NO_CONCURRENT" q; K' c+ a8 U v- O
9 L. Q: h8 f9 O" @& C* V/ G6 N1 J+ O
#endif: q( t- z+ k1 ~% B2 p \1 m
% F' _) I6 q0 d: d0 C, s/ Z
|
|