|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
7 R/ C0 f0 J* `+ m9 H0 W5 X" P/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter': D( y" b5 _3 q8 h3 O V
3 F! w: C# t5 B7 }7 \: E7 m# W. H
这个头文件内容如下:. _" a6 s! y# Z6 |; [! J
#ifndef QTCONCURRENT_RUNBASE_H
& b1 g" C) o) T3 Y8 p#define QTCONCURRENT_RUNBASE_H
6 }8 b0 Y- s; m1 Q- _9 L
) C* L/ e* v1 W$ T. F#include <QtCore/qglobal.h>
/ ~) W; C, C) a) ^" }$ S' d7 b+ e+ J$ c9 G' X
#ifndef QT_NO_CONCURRENT* x) {( l7 ^1 x$ i& o/ q
; Q l( x9 |" D2 v" w- c#include <QtCore/qfuture.h>
+ i6 f% Y* S) {4 {. w9 L) r6 {#include <QtCore/qrunnable.h>
1 o4 q6 G' p' I4 A1 P5 m5 F#include <QtCore/qthreadpool.h>$ ~/ B1 x. J$ g" I+ R
! Q9 [8 Q, r) |7 }$ W) c, bQT_BEGIN_HEADER3 p1 r% a8 z! I8 ]# K
QT_BEGIN_NAMESPACE a+ E; K( Z: `- G& [
- T$ }, M+ ~& K( M/ p3 W+ OQT_MODULE(Core)9 @6 d# P$ u0 \$ _4 c% |
7 h5 W3 }7 T. n( ~ I* @8 y
#ifndef qdoc
* H1 n1 R. m: h( K3 o p3 ^. t' y/ x6 ~, C5 }5 x: m
namespace QtConcurrent {
* x8 {8 m- O, S5 x' J0 Z3 f
+ p1 [+ o* _1 n9 G" ftemplate <typename T>
& g! n* y1 E0 F4 s* c9 pstruct SelectSpecialization/ X9 {8 m1 p7 Y3 r |% x3 e/ |
{
, p; j- X5 C7 _1 o O/ y# R Z template <class Normal, class Void>
' l9 |; \' k8 ?4 O8 M# S6 _, ?5 w struct Type { typedef Normal type; };
4 g$ G4 {! H: p; l0 d};
% m2 c0 _8 i" Y6 @' {* F6 J& f* R0 m; V j" j. t4 Q
template <>' F7 G& k$ e0 _1 o
struct SelectSpecialization<void>
2 b+ W2 S- V! C' Y- Q{. g' P. B& Z. p3 E# k
template <class Normal, class Void>1 T) y- z1 \0 f7 n6 Z) k
struct Type { typedef Void type; };
' i1 g. }" Q: v5 h& Q, [};0 ~6 ^/ O6 f3 U1 N) V" k8 K. t8 s
, F6 [9 R7 X/ |: d) ?2 R8 W- x
template <typename T>
}. \& ]0 x+ C. \% J1 W4 l/ k& |% kclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable2 F7 {. d7 q4 m$ m8 D4 i
{
, x+ }/ V' _& s/ r3 W! jpublic:
% y3 X- L8 P6 L: [6 h! z/ h4 k QFuture<T> start()" l3 m/ F+ G% i: g/ l6 F0 ~; l
{
( T! r3 W' t8 s; s; }5 `; J this->setRunnable(this);
7 i4 @1 i+ ^# k% X$ O R this->reportStarted();/ C. ~) q8 e0 \! m( o0 ?' K1 J
QFuture<T> future = this->future();
w$ _# w" z$ E( @) ` QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);! y7 i4 X4 J: b
return future;
7 `. Y8 O+ E$ Y. U }; i7 u$ o: S" Q6 n: X
$ Q$ F# [! ?" K4 ^ N" ~ l S void run() {}
3 l S3 ~/ O0 u, O virtual void runFunctor() = 0;( W7 v# N; S" i, Q7 }
};$ h0 ^- n: r- j7 Y0 I, p8 I
! ^& h0 f* }' Q, H# X3 g5 o. }$ o$ m
template <typename T>
$ o, g. O* b/ z/ f% t1 _class RunFunctionTask : public RunFunctionTaskBase<T>
( { g; X, ?3 H4 ?{( r, X* m2 v. n/ }; H
public:+ J. s' N8 s& V# p8 h2 V O; ~& Z
void run()
' j0 ~8 e/ @1 a6 e( ^3 Z# Q9 s { K$ F2 K: C9 O3 W
if (this->isCanceled()) {
! O7 w" O/ Z% o* b% M+ ? this->reportFinished();
+ I5 a8 j2 t) W! T% a! K return;
2 U2 n; T9 `6 m8 h }
. {# s' k: |: R9 _ this->runFunctor();
/ T2 k: }; F7 p2 f this->reportResult(result);0 R" ^ M$ t/ \, p
this->reportFinished();0 e) z, }7 a+ ~3 e
}% {$ c3 h4 b: f
T result;
% |' L& V5 i0 N3 \4 Q( j1 f& ?};
0 a7 Q6 z k7 R7 E1 ^
g, T- |$ P1 L9 ]/ e: ^template <>
, X2 |+ O. x, e9 |class RunFunctionTask<void> : public RunFunctionTaskBase<void>
8 z/ i7 I4 z6 z4 r3 K{
0 h( |8 W5 M9 `1 F" I1 Hpublic:7 ~- n$ ?/ j5 j2 R, W! p0 o
void run()9 S# d: p! ?& j) w
{9 x% v- r( ~% j' h" l: l
if (this->isCanceled()) {( @) d. ^4 \1 e0 @ A4 l3 b
this->reportFinished();
4 ?& g% S3 s' a& i' B return;
4 d& I- o o4 i: o c }3 s, Z L" M" \" J% Z2 d, d3 K
this->runFunctor();& I7 G& j) c# d4 C k
this->reportFinished();
6 }, a1 j- P P8 `3 _4 R0 d+ V& G }6 L3 @( {9 g) t. o" V: S
};
4 X" }' x0 s" o% R5 j% R! k9 _1 B0 G0 \8 o, G; x# N% ]
} //namespace QtConcurrent
9 i! c$ b# M2 e* H
* ^6 U! `3 h/ r8 ^7 j# b1 x+ H#endif //qdoc; R# P% N5 W8 y) h0 B8 l+ y8 ^3 B
7 f2 Z: E/ n9 G6 n: Q5 |QT_END_NAMESPACE, Z6 L6 y& C" M& {6 C3 J( Y
QT_END_HEADER8 J/ a; |1 M- V" c: o
: @& N7 g! |! x( l# v#endif // QT_NO_CONCURRENT! R& n" w5 ?8 x* a: G
c; k4 ~) E3 |! E4 b4 P" m
#endif
6 {* G5 B% ]$ r4 d) N8 h1 u2 r B0 y) C/ {1 l) b- e8 }% ]% p
|
|