|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
8 D6 E, q+ P/ f0 W! m: X/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter', J" d7 m, l: h* N) ^. i5 j7 K
+ Z4 L! o& n$ Y) s这个头文件内容如下:9 E3 `& t8 k& c1 ]* c
#ifndef QTCONCURRENT_RUNBASE_H
w, T4 ]1 ?1 J6 {1 F5 R#define QTCONCURRENT_RUNBASE_H: z+ Z9 P7 b; v V
l9 }- |6 H# T; @. @# W5 |#include <QtCore/qglobal.h>
/ O5 H4 K6 V: I' s4 b8 P
7 c3 R+ f2 t/ y6 g' V#ifndef QT_NO_CONCURRENT
! t0 Q; U0 c: N: p- Y1 H7 y* `) O$ J& \# c. q+ J# [' j
#include <QtCore/qfuture.h>! x9 ]1 l; ]3 ~( B: @0 C% o
#include <QtCore/qrunnable.h>
4 P) k' m2 B- _' w9 `# u#include <QtCore/qthreadpool.h>! A8 |. ^- e" p, S0 _1 j0 e
( ^ I' B& L, S/ d
QT_BEGIN_HEADER1 s0 J0 s$ |1 s3 s( [; |5 p
QT_BEGIN_NAMESPACE
# B* w; P8 B9 Q" g
# n* { o2 E2 }: \" f& F& |: a3 fQT_MODULE(Core)2 }, r @9 S4 S, X$ M* x
1 w4 v$ |' }3 l/ O$ R/ M#ifndef qdoc, {. Q k3 p/ l6 O, S- S% h
8 x: ^, I5 X2 P( q6 K2 O3 E
namespace QtConcurrent {& {5 h# g I. f6 ]
$ W/ P' [- \8 s6 F9 a
template <typename T>. ], [$ N) J. q+ w' X6 `0 g( v8 `
struct SelectSpecialization1 o" @5 [' D' s- ^
{3 U1 U8 c: E& M% ?$ ~$ {8 ], E: ?% ?
template <class Normal, class Void> Z8 V. S/ [" B- ^
struct Type { typedef Normal type; };
) [1 [$ V% C' X6 a! _; |};5 m- H: }! [8 i9 [
- n( E1 [ D- L: x( O7 _
template <>. b9 v: k: Y; \/ Z" J3 o
struct SelectSpecialization<void>
; B7 r" [% B: R9 W1 C; h{. Q6 g4 o- v& z4 L" B+ r' M
template <class Normal, class Void>
* N: D/ r0 S5 K$ n struct Type { typedef Void type; };
/ I+ u; p& q% A) y( l( \};
; _6 U5 n( o. a; g0 S$ k d: I8 y
1 X' s) e) B4 H7 Otemplate <typename T>
4 ?5 i Y, l) c1 g; D1 _class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable- @' C7 _ @: s+ O
{# N" j) M3 p: W$ i& p
public:- @" m) N P% q; h
QFuture<T> start()1 Q/ {$ B; X) u: H- n
{, m6 F+ H4 i' Q$ k+ w7 ^9 l
this->setRunnable(this);; c& M3 x& O# R
this->reportStarted();: [5 b8 S( h, }6 ^ Q& e
QFuture<T> future = this->future();
+ C2 F. M% @; g+ \: `& O QThreadPool::globalInstance()->start(this, /*m_priority*/ 0); a" ~$ [+ g A9 r) n! R
return future;, L. E* ^5 A$ p1 C
}: d1 C+ o$ E, r) I& w5 t
; r3 |0 M7 ]7 ?7 u. G6 i* n
void run() {}
E+ N$ Q n) A* B' u virtual void runFunctor() = 0;- j) e8 p3 z, Z" k E
};
/ t1 j5 s' }7 k9 S7 u! z6 r3 n: C+ z. p/ M1 k' w& M: B
template <typename T>. N: v, B7 Q2 i3 b! P0 [
class RunFunctionTask : public RunFunctionTaskBase<T>7 F: G! {2 L1 p
{
8 K* _5 P' _8 q3 O3 i2 @" qpublic:. w% v2 Q7 G0 q
void run()+ x# X7 ^: _* V; j7 ~* d
{
! o' G N9 }1 T6 g* r if (this->isCanceled()) {
" [7 Z7 ^5 f/ t. B9 P3 L9 V this->reportFinished();9 D0 z$ r' E/ t+ Z6 H* s, G8 g- O6 G
return;
1 b; z! ~" e) C& u5 B. r' v, k+ m4 W }
5 i C ~& ^ ^: `8 r this->runFunctor();7 Y( \6 J" ~) [# ]% J S
this->reportResult(result);# |3 p7 l4 C. x7 p+ F! \
this->reportFinished();" L; i( Z/ X, C5 B+ _, p" _6 w
}) Z3 L) Y' S, J- R4 J
T result;
7 {5 |0 t+ ^( g0 S7 x0 {};
. E# r( f v0 ]' ?1 y, D* F/ U# t- q0 s* W* d# `) Y
template <>. \0 R2 j- G* ^4 | A/ \/ B5 U
class RunFunctionTask<void> : public RunFunctionTaskBase<void>0 `. n5 U, E& T; H
{
0 y* Q* n: L! r9 U! x gpublic:8 `* J; h1 c. `' G, h& d. b
void run()
' Z& L& d: T% |; ~7 {& G {& o3 X1 A- m ^7 u2 M
if (this->isCanceled()) {! X L; M3 e8 V: Q4 ]% x% s( n/ `
this->reportFinished();, p1 \! k* b6 H8 G0 f
return;
% {; W1 @" M5 L& t }
, `) u. t& S0 C6 N$ T& y$ A( A this->runFunctor();
% ~, n$ V/ p3 x9 w7 f this->reportFinished();, n4 q4 ~4 l+ J* d
}$ M# j; S: b, k8 b6 C3 Y
};. T0 X8 w$ q6 c: F# X
' k8 ] x1 }" g, A
} //namespace QtConcurrent8 X% P# w7 q* ]; \" r% h
: c% f! B, A$ h, ~6 l/ i1 n#endif //qdoc: y2 b/ k% g3 c
3 u' Z3 k q/ B sQT_END_NAMESPACE+ _* t, D* r' I; X4 j V3 b
QT_END_HEADER
' p4 Q; k- f: J" F: V* D/ Y
s( T) s" ]# P, a1 r* s#endif // QT_NO_CONCURRENT) H0 o+ E2 n! L6 f
& S" t3 t& \1 X7 y. S( H#endif3 v( g5 o) }3 I8 ^/ C0 ^+ t" m
3 L! O$ f5 r0 n! s% @% t
|
|