|
|
我对syslink进行交叉编译到arm,但是出现如下错误:, X8 E4 R i; r- |7 m% ^' a
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
& c+ Y! ^/ M9 M+ i c2 ]' d0 ]- i6 b; g* p
这个头文件内容如下:
4 y6 W% d: R+ N; p, F! R4 |#ifndef QTCONCURRENT_RUNBASE_H
' D: d, @2 D# k#define QTCONCURRENT_RUNBASE_H
) Q- b+ \) n7 [* \+ x3 I! k9 X
( m, Q$ x% w5 R#include <QtCore/qglobal.h>1 Q, E; B* Q# M U% F: r$ G
* J* t, @0 C: \1 R) \
#ifndef QT_NO_CONCURRENT3 k0 I6 `3 H9 v7 z5 d
3 _; D, g5 o W5 h4 l
#include <QtCore/qfuture.h>
1 s, M1 ]7 R8 \, e2 K S4 q- Y#include <QtCore/qrunnable.h>
2 q7 E K- h7 W, S* h6 Q1 m0 F#include <QtCore/qthreadpool.h>
, c4 ?3 h0 z; ]. T! X
7 a N; @6 b( M& {, ZQT_BEGIN_HEADER
# U9 {4 @9 ]) X5 E# KQT_BEGIN_NAMESPACE
) j5 |6 g2 D) H2 L- p
5 P! ^. p; }' W2 D4 DQT_MODULE(Core)
3 s! u A5 o& c7 H2 G5 k8 F1 R2 ~ J
#ifndef qdoc( @( w/ C2 b; N. _6 s5 T( w
& J5 @% T% [+ G% m1 @ i# i$ a
namespace QtConcurrent {
- V8 ?3 i) o; J8 J) l
I$ J" e: ~/ ctemplate <typename T>9 `4 K, z3 c, e6 U; g' N4 l
struct SelectSpecialization8 y% K% q. ]& u, x
{" X5 z) M) x* \, {
template <class Normal, class Void>
" x7 {( ?( K% A: v" H: M2 I7 L struct Type { typedef Normal type; };
8 F% F# x# b( L' D; g};
8 }% [8 B" q' l+ T8 j6 Q1 L7 Z" U% F7 q
template <>' C; h% d8 B. c- _* G; s3 |
struct SelectSpecialization<void>8 Y ^- D* d! `
{
, L+ n1 I: t7 C6 a& e template <class Normal, class Void>
+ {& m' T; ^% D+ n; u4 n6 g0 A struct Type { typedef Void type; };7 k' A. S4 |8 i- F. `- P
};
3 q- S6 U" U! W! ]+ O
. F- v" q4 H. [1 j0 ]6 }4 Ttemplate <typename T>
2 q- s( Q2 I( N) ]6 A$ ~ Mclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable5 m" I% f* c" w3 q$ q8 R3 k9 v% e: I
{
8 u# c O$ m- X5 jpublic:
% c" W! M3 ], k3 T1 f8 Q QFuture<T> start()
: P6 G3 ?3 b8 U( a' L% K$ z {
/ }) m% f: ^ b0 f: ]! F& l this->setRunnable(this);' K& f5 b \" L2 _
this->reportStarted();
/ |' V! u. m. b" n* B0 o QFuture<T> future = this->future();
; M; Y7 I* ^4 v- u1 g) L QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);- _' L! c* A/ d# y- T
return future;2 \+ e) K; {$ G. _3 t# L9 G" q- k; t
}6 B- n w+ j: I: a; k
" H0 [2 i( x) l0 _! G/ R
void run() {}" t/ L- }* t+ W/ F5 v1 ]' O
virtual void runFunctor() = 0;
7 a; B! f/ B& x) d' J( x};' j# v" j$ Y6 l* W' ~/ r
: H$ b. Q0 |8 [5 s( ~$ S4 ztemplate <typename T>
4 l) w8 T' P( ^5 i: s" E; yclass RunFunctionTask : public RunFunctionTaskBase<T>5 O5 a- z G x* w$ U
{) ~1 ]5 F* P6 j2 L2 U
public:
+ X. o7 r. g! N% t! z; J! I }5 | void run()8 A' ]" y, d5 b/ [
{7 H, e& u- x0 c r2 U
if (this->isCanceled()) {/ f F+ o# t: c9 |$ N! k+ T& }7 _5 \
this->reportFinished();( Q" d; r' \2 s
return;
# F: u. E% R' v+ H }
8 w4 s$ O7 r ?7 g this->runFunctor();
6 l" y0 W# B& o4 ` this->reportResult(result);
' t" {5 S4 \/ D3 { this->reportFinished();( r$ j3 t& n( G
}
: b5 f/ b7 r3 A3 X T result;
' n: Z3 e' y# `% [* ~2 I};
4 R0 V. |5 m; c6 S5 I0 b0 b
; H( H( X$ V7 D1 rtemplate <>' j& p' ]/ [/ e. Z d! O
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
7 |$ `4 J2 }! l/ a' R" s4 }( x7 H{) j6 g- M: N* w# J# W- m
public:* C- Y8 R0 ^8 S: V: x8 _. M
void run()
) K3 B) c' N' K* i; ]5 m6 l {
! X } e% Z& y6 M5 ^# |: u if (this->isCanceled()) {' ~# M3 e- f" I2 T( `- @; G
this->reportFinished();8 g1 F, r' |& B+ X
return;
6 q1 h" M% D9 a }7 W H5 x- f. `
this->runFunctor();3 _9 I( S* i+ T5 H
this->reportFinished();- d* s0 W. S4 a. y& x+ p
} C% I8 W0 Q6 ]9 o' O* @
};
% _, Z$ k# k) p5 y& G- a# a5 I9 e! T( H, m
} //namespace QtConcurrent
0 i: R$ U" O7 W; ]& X$ B) m6 y; A* n$ s. _+ Y ^
#endif //qdoc
' D3 T" w4 v6 Q" q3 O9 x, _' v$ p9 H
QT_END_NAMESPACE6 o1 \8 x7 I. F
QT_END_HEADER
- i) S2 ]# S1 ~) u6 _4 z) w8 [! j
" W- V u4 q! B {1 E# G6 u#endif // QT_NO_CONCURRENT5 t: i2 {% X1 R* N" c
9 T$ w; q+ q; P3 M* {" H#endif- X x, K) \, b5 ^
# m( k8 v# v9 i4 N4 M, g |
|