|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
* c- H; J" b; v( 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'5 p, e$ _. R7 ]. j8 _
9 ^* e/ c9 @, v$ {9 O4 S" ^这个头文件内容如下:2 F# L( N7 H# G& R
#ifndef QTCONCURRENT_RUNBASE_H
9 s0 K/ E' P/ k0 I7 ]5 b#define QTCONCURRENT_RUNBASE_H) b) F% P; Z+ Y
' r2 b( T1 r6 W$ c. q" W7 F
#include <QtCore/qglobal.h>' C F5 N O- a9 R6 h' V8 u, U- L
1 B2 h4 J) l4 B! D2 O. u8 i+ x#ifndef QT_NO_CONCURRENT
( G5 ?- V6 B7 [- p4 H
1 L' _2 r; e, s6 \% y2 X#include <QtCore/qfuture.h>9 w' n& _8 Z$ {
#include <QtCore/qrunnable.h>
6 G. v6 ?' F6 C- U% f4 Q% t#include <QtCore/qthreadpool.h>
9 w4 T' d2 [6 p: J) V. z: H( L' r7 s& k# g: i
QT_BEGIN_HEADER. d" h. G- a4 U# K' O5 h( Y! ^( L
QT_BEGIN_NAMESPACE# d2 o0 R# z1 ~( g8 T4 F
|) i' Y( W7 o, v% K' SQT_MODULE(Core)
4 r7 h0 y. g% F; w4 F
7 u b/ J, X4 f. X: x#ifndef qdoc: U# p; T2 l8 Y/ ]% g
) J9 w' \. x1 l% ^# }3 ^4 k
namespace QtConcurrent {
) U h' |0 F- E) V1 m" i' m! U" x' F( ?6 y1 h+ M
template <typename T>6 w( s5 z) f9 X2 O" B" c
struct SelectSpecialization
/ H# ]" N- o; a, }{
K5 p) S6 _+ q9 @( t* J$ P O template <class Normal, class Void>0 Y9 e7 C4 _0 `) A$ r
struct Type { typedef Normal type; };
. p( T( M* s% \ d3 e+ Z- o4 F};& @! [9 `2 v0 R6 g
* O# s, ^7 J& H) g, ~* ^7 {: |9 ^
template <>
" W" K8 r) Q8 h5 G" qstruct SelectSpecialization<void>
% i; U% S7 ?" m: {{: Q, R' {8 `4 K; a+ _
template <class Normal, class Void>
* V( Y: u) U1 k" @& K1 h struct Type { typedef Void type; };
, I& F8 ]$ b ]% Z6 G1 v};
% I5 ?( b2 R9 g, x% u$ ?) V3 d' E2 D% ?
template <typename T>/ J, }/ f1 ], V7 F5 ?
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
0 o( [6 {% Q7 Y N Z{ w" R) I! _0 A3 r; E2 J+ E' ?
public:9 e! l# p) g- k6 \) {: [7 z$ K
QFuture<T> start()5 a, L$ V1 U" i6 F: z
{
' Z y& F' y+ e, `: v) h- o( l1 ` this->setRunnable(this);
$ u- Z9 ~9 N+ G* M6 j this->reportStarted();! E# `) p. ~; t% ~1 x+ N: l
QFuture<T> future = this->future();
6 H' v. }9 ^8 @4 T QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
7 i& _( R, F' X8 H9 N2 G return future;- y/ E, P0 N& P- n/ c
}
9 k; ~! J, R+ {. Q `% h6 g2 O" p
- y. C2 c, [1 Z* m' A void run() {}
9 Y7 q! I3 r" D virtual void runFunctor() = 0;
0 y: p- e$ a9 i8 A4 z8 D. F};
" z8 g5 w* C! L3 V' r
8 j! y! R( @* ~$ x& A/ Ntemplate <typename T>
. @' ~# [% H. m9 _! g6 `8 A+ Hclass RunFunctionTask : public RunFunctionTaskBase<T>
5 H; A' p: t9 L1 l{# K! H4 U& ^6 ^# W) T4 J
public:) F% d8 a3 b0 s d
void run()
7 y! U0 y$ I& U: z {
; ^ }# K3 Z; r0 G if (this->isCanceled()) {
( U8 V% t" V& L' n( g6 W9 M8 A4 V this->reportFinished();1 x7 {( w5 K- N! Q
return;4 q, K! W! M/ f5 ^
}) R0 \. [; T/ V# ]/ [
this->runFunctor();$ X2 b4 b8 f' f1 @8 Z5 z
this->reportResult(result);
% L* B) j" w# t' q+ h9 ? this->reportFinished();
/ V- _, i i, }# f }
! j/ R* Y& H7 u T result;
. p# f+ f7 M# t1 O& L$ G) Y};2 D# l! Z, o3 S1 P! \( x% Z$ t
4 T2 g7 u/ @" H l$ ~
template <># L! [1 T/ k9 G& S6 n
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
. D* p, t: i( p{
. g* f0 @! v% L. Apublic:, E3 `$ s" l9 W) y6 ]6 S
void run()
- _9 V4 O" r$ _% B: Q3 m {
# k/ k# G+ n8 x if (this->isCanceled()) {; P- C0 u9 A5 ^ W
this->reportFinished();6 C- p# V3 L6 v4 z3 k! d
return;3 N: O; q$ @8 }9 m9 P
}
% i! D: k4 A; J0 A! C3 } this->runFunctor();
2 B" ` ]6 ^( ?% f& s this->reportFinished();. Y( ~4 ]4 N% R+ l/ ^" h; w
}# C, P% }6 A8 |/ g
};. I4 T) B7 f! E# U0 Z8 R+ d, @8 ^
0 [. O5 @5 w2 ^6 s# q4 p6 t$ F
} //namespace QtConcurrent
# b- Z& m. H* O9 f2 D
2 B. j* r7 n. d) i#endif //qdoc
% e" c: [0 |, x6 G: b1 F
+ v% I% D0 j6 S% L% b' H' DQT_END_NAMESPACE
3 p& Q1 U- D, X; GQT_END_HEADER# j+ F& q: A0 z2 c5 c/ ]$ I% m
6 V; P- p2 r1 A% ~( e
#endif // QT_NO_CONCURRENT$ U! y, W9 d" U* F3 t7 M# F. o( ^
1 n- z6 H4 V2 U4 [8 H
#endif5 f- I. L3 P9 H/ q
; E0 b/ V1 R2 |1 O4 r |
|