|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
/ d/ Y9 `- x5 d/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'9 p3 s4 f" _; H1 Q; a( y0 k2 t2 A
$ M0 n7 L9 g& R7 g+ x* i这个头文件内容如下:) {& ~% S, {# X" E; ^
#ifndef QTCONCURRENT_RUNBASE_H
& h n0 W( ^& n, [#define QTCONCURRENT_RUNBASE_H* m6 L- A0 b! S$ Z
! O( O* D& ] y5 w A9 y#include <QtCore/qglobal.h>0 y( n5 H9 X+ G* L8 Q! h$ _* P* b+ c& ~
- ]; b+ V {2 V* x% U#ifndef QT_NO_CONCURRENT8 l; f2 d; f: f% z8 R" t# H
! T& i# _( L6 _
#include <QtCore/qfuture.h>
( p6 v9 I* l3 X/ G# R' E) M8 U( s$ F4 Z#include <QtCore/qrunnable.h>
+ j& g, _7 D) H; z v- c) n [) H#include <QtCore/qthreadpool.h>& K% S t$ s7 L
! b9 C5 |3 F6 b2 m' i
QT_BEGIN_HEADER
) P0 F3 H* ?' f, p5 Z, eQT_BEGIN_NAMESPACE
+ g4 W' o' J& W8 m, ^- d3 Y! q9 b0 B/ I/ L/ X
QT_MODULE(Core)! l; S* U4 f* q' G
$ W4 ?) k9 \6 ?4 a- B; R* @
#ifndef qdoc* C d! n' }# |6 J+ S3 ~$ x0 a
0 N9 X$ U# v% V: M
namespace QtConcurrent {
8 y3 ? W: Q2 E c& L1 Q8 \
. N; W& [* L- B; Jtemplate <typename T>0 g1 o# ^3 J- A7 i% s
struct SelectSpecialization
7 u- P% Z! m# F0 p9 e9 N" O r{& @$ b2 k0 `7 P; v; ^: i1 t
template <class Normal, class Void>
" g1 C8 { n6 C; Z: S struct Type { typedef Normal type; };
' R/ S3 N- F( R' V* x4 X}; _) Y- B4 Z* T2 n0 k
5 S( P1 Q8 `2 C7 t) Utemplate <>
% j$ l5 e! c4 vstruct SelectSpecialization<void>
6 c5 P; U5 n4 x1 {3 }" O{! n+ ?7 u6 \$ y% I7 d% e
template <class Normal, class Void>4 A; \! ?" G4 c$ ?6 u2 o( w
struct Type { typedef Void type; };1 q6 h, _2 C8 E6 \) c% `
};
; `7 b ]+ Y/ u+ M
J$ A3 a1 y' l+ J7 Dtemplate <typename T>
9 x+ _5 \( O6 [class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
1 x& @6 U& ^5 r$ k{
2 W! O3 g/ z1 _) Y0 Vpublic:0 d- H. T% `+ `9 \/ f: s2 r" \; ?
QFuture<T> start()+ g8 D! G& `) w7 V( p
{+ U5 U- I4 z! l0 Z) h# p% g5 L- v
this->setRunnable(this);8 w. l ?( o3 T) P/ V
this->reportStarted();
" W0 }, }4 r( v5 T0 L! E QFuture<T> future = this->future();- x4 H+ A) F- a9 U
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);! O& F5 _; g" f3 _7 V: W0 g# h: A
return future;
% p& N' O2 r! B6 Q2 B6 S }
3 p; }3 Q0 B( \/ ?2 `- [1 r2 D q- ~9 V7 g/ F
void run() {}
5 J1 Z0 X7 p6 N+ W virtual void runFunctor() = 0;
A; R( d0 z" ]# p3 S5 R4 u};3 H( I7 ]4 i; s
; K6 m1 E }# h; N" G0 ztemplate <typename T>
4 N J f3 b& `# g. [class RunFunctionTask : public RunFunctionTaskBase<T>9 b, |2 T/ b; P6 }) r9 ] R' k
{
& v4 a1 J! o- [0 A3 n/ r; o4 Rpublic:
@3 h/ N% h* q6 z, ^+ q void run()
; C r0 n3 o% x0 T/ F% ]8 f {
3 N- g1 b2 P ^6 }" }0 v2 P if (this->isCanceled()) {7 }* Y1 K j, E
this->reportFinished();
2 }& R) Q. d% T. s! k5 d return;; k& } W! p/ A& j8 a
}% p6 S. H/ |/ X$ V& I. [- H
this->runFunctor();7 R6 y* I2 S- d8 ^& U$ u# n
this->reportResult(result);
. z. e' S5 |) k" d! V) \7 _ this->reportFinished();: N8 x0 t# e0 |% S& E0 |5 x
}; H2 J# S" F% h9 A8 m
T result;
, [- m, D& w5 A j% T! ], ]};3 i- _. P& \4 A+ E% Y3 j
. ^* N! ~ _8 G5 J# r
template <>
8 D, ]1 ?6 e, e5 t' K. Pclass RunFunctionTask<void> : public RunFunctionTaskBase<void>% T4 L* _" W! E: p" c
{
! [0 R9 Y7 a5 E9 Jpublic:7 @# [" |# Z V. ?2 W
void run()
* l2 Q8 l- L1 d/ z {! O+ ?" W/ }5 m/ X1 E z
if (this->isCanceled()) {& M* W9 E* _! x
this->reportFinished();
: J, S, M" j' ] return;
8 s- ~0 h/ Q) t1 {$ g e }
; G8 g1 L) d) V; i# V$ f% L this->runFunctor();; C" {) L, N. Y' E- m3 N$ }, w
this->reportFinished();. E3 u; `4 n7 ~) R/ R
}
2 {" Q" h$ c: C3 ~% v( s};
7 B! N! l) p8 C) ]0 @4 j. Y
3 D5 M; F4 E' b: g( q} //namespace QtConcurrent
# `! W# x- I- K& F) F) r9 \* N) X# x3 I7 L' p: A
#endif //qdoc
$ @. y" f% e; i" L4 h6 z X7 W' @( ~3 x% J% N( x$ q/ y$ O" S; [
QT_END_NAMESPACE
8 e, q" D F/ V9 @: ]7 X) ?' a- \QT_END_HEADER5 G( N- b+ R5 |9 M
" J' N2 w! W/ ` n
#endif // QT_NO_CONCURRENT- n! e! i: t5 T
- H5 S" J! P. {4 F# Y
#endif
, ^9 U E7 b- a# n! O. `6 ~) B; [0 @6 e; {. O+ K
|
|