|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
7 p( N. H8 E: `- `! u& a7 {/ i/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# b# @4 {" l6 I r/ B
1 k% |' }2 y3 q5 z8 e& e/ D这个头文件内容如下:; m2 e/ ^/ E( H7 z4 }; j( @
#ifndef QTCONCURRENT_RUNBASE_H
4 a9 o! ]$ v; `& B% a: m7 |) u#define QTCONCURRENT_RUNBASE_H
$ H4 ^7 p- m( B5 s# _+ i. o( ?- v8 W! P; r/ [7 Y
#include <QtCore/qglobal.h>" {2 S$ u/ w7 W
/ v* j1 S% v+ [3 }4 z( B l% B4 Y( ^#ifndef QT_NO_CONCURRENT A9 g0 m2 h# ?: u# A
/ y% l- c& `0 b" W#include <QtCore/qfuture.h>; V/ s$ ]8 ^* h
#include <QtCore/qrunnable.h>
+ o+ i5 l5 B, Q. c, _3 u#include <QtCore/qthreadpool.h>$ d' B2 K; H9 f; S0 ?# _
! g% [5 r0 B+ v' d j
QT_BEGIN_HEADER
& D$ j% b0 h8 Y+ X# K$ D# cQT_BEGIN_NAMESPACE
3 }( a% u! k2 g$ d& c+ q3 U+ h
0 b) c' ]2 }( ^7 eQT_MODULE(Core)
2 J9 e& S1 v, l2 ~1 K X* p9 o
V5 f ]5 v+ j1 W" V#ifndef qdoc, a R+ ^) b+ T9 S! E! P/ E
2 D9 M4 n" N* G) o7 Unamespace QtConcurrent {
* R# `6 Z8 N. I
3 B( @0 v" Y3 |; E- @) _template <typename T>2 j3 a4 a1 w$ u& Y5 t
struct SelectSpecialization/ v( Z4 X( N* o* [8 D) K( z8 q) q- i
{
# D1 n" g; ~. U9 ~ template <class Normal, class Void>
' i$ Z" |; w) m6 P* T struct Type { typedef Normal type; };
+ Z2 H; u1 [8 e- L2 p) Y};
0 }) t) ^ H( I- d% o0 l4 T3 _" ^9 @$ C
template <>; v( ^; r( k: K0 N. t4 S
struct SelectSpecialization<void>8 ?' n) m& s: Q c) J9 {2 i3 `
{( L& C1 [9 F4 q8 r* u; R
template <class Normal, class Void>: S9 Z I M7 n! ]' i( V
struct Type { typedef Void type; };! ^2 {' X. [- E
};
$ k8 L& A2 ^; `" I. n: B2 O0 d/ k* v$ c: E; P
template <typename T>
8 \, r1 K5 l- v% K L. Sclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
6 c" _9 X2 |8 c& _6 G) r{
2 j( P8 ?3 B: N S0 spublic:
% }- ?! I6 C% e# [; ^! b% r QFuture<T> start()
; A3 T8 l+ P: F) J- N# r [ {- _! L5 s2 j4 R0 W% s
this->setRunnable(this); i1 c \, e' Q) v& f. m; F8 V
this->reportStarted();
( Y: w9 L9 P5 k QFuture<T> future = this->future();/ F2 e. p* m6 H1 k% C: l; p
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);7 c0 R. K5 d: G1 x1 j7 i
return future;; Q9 g- H$ D$ b5 b
}
9 B' F8 F! R+ v X o4 l# a X9 F* a# z# c6 I- B8 Y
void run() {}- v! O5 Q g4 H: K+ O- m
virtual void runFunctor() = 0;
. w" |# V% y3 W$ |( I};
( I) c# a4 v; A3 [* b: c$ f
' T. c- k3 N0 w5 @template <typename T>
' X9 [; Y2 |/ `: Q: ?6 Zclass RunFunctionTask : public RunFunctionTaskBase<T>3 v J* w9 b0 X2 ^6 M% d' Q; c
{
8 G% o! O6 `2 U5 Gpublic:
9 m2 l" q! v9 J A void run()' s; _; t) n; b: Y v( I* X9 F% l
{
8 ?* R3 @2 u1 T( |) B if (this->isCanceled()) {
) N/ V7 X; c' x% f3 P9 [. i/ y" t this->reportFinished();1 b* ]; Z$ ~$ B& J' N$ C3 i& b
return;# [( H6 c0 s6 T
}
7 n! k" _! B7 t this->runFunctor();% v% u+ a$ n Z$ H6 X
this->reportResult(result);
- {7 t' ] g( {7 Y$ k9 |, n$ \: [ this->reportFinished();2 k9 @: g5 l( [, P
}
% r2 t6 }' A2 Z T result;! f& H. v d5 @
};
* }% i5 n+ I1 A) H4 m# W
5 n- g3 G- J+ E" \& S; ktemplate <>
5 H7 G6 }+ b/ ?* w: n/ Nclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
5 T/ `' N q& `: X, _1 O{
2 {4 O% x. c9 bpublic:
) _/ p+ p3 G3 Y# L9 t void run()
1 J' z6 j' u9 m( I, S% @ {3 Y% @, a+ s! O0 R5 G4 E
if (this->isCanceled()) {
9 C6 V7 w& \" M% K- s6 P- H: [ this->reportFinished();- b* ]/ V% m2 k
return;8 P- v2 c/ R0 V7 m
}5 ?5 X' Q1 T. O. H7 j& ]$ q6 Z
this->runFunctor();
6 p$ c- a3 {) H. b5 m, t4 t this->reportFinished();
% z" o" t! m' [ }
( }& x6 R* _2 L};
# q7 @% `* L0 {" q+ l& D
, |# Z0 l h+ c, b- t+ D} //namespace QtConcurrent
. k; l: K: H' o( o& I; ]" p
6 m7 j6 J8 @6 k) e/ i" s. U#endif //qdoc: d$ ]( I) |' y! j. e N( J8 M
3 m3 R$ Q a; R2 Z. ^7 Z
QT_END_NAMESPACE# _% O7 K/ T- [3 o/ z4 z
QT_END_HEADER
4 ~& E7 r2 i7 t7 g& V$ q+ Z0 |7 T* L; y# F" n0 }. m4 x% p4 Z. t
#endif // QT_NO_CONCURRENT) t" H; o: ~: V' T$ Q0 \
8 I) w! v0 T2 B6 B
#endif
7 @$ S* d% K6 T5 c5 l- S
9 ^: I, a6 i% ~$ ], O3 y% p |
|