|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
+ A( R9 N* q. H3 B' h/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'4 n2 O7 _5 x2 j; {* F; n
% q6 p- A7 M6 M# W' h! ]. o这个头文件内容如下:
5 T) I9 V( z3 J5 `7 Y3 O#ifndef QTCONCURRENT_RUNBASE_H
6 {' A1 E O9 J G#define QTCONCURRENT_RUNBASE_H
, N m9 |2 d8 b. F$ d0 N( k
: I% ?7 A7 p8 ?" [9 X#include <QtCore/qglobal.h>
) [' @. P0 a+ I6 N
# z5 ~1 n L4 n3 i$ C! i#ifndef QT_NO_CONCURRENT
, H. i( J% w2 ?1 `9 _" k
2 Z3 ]- S" R, c#include <QtCore/qfuture.h>, N+ e1 O+ w2 J9 k R, ~0 t
#include <QtCore/qrunnable.h>2 o+ x* e3 Q3 m. X
#include <QtCore/qthreadpool.h>
. s7 k* H- { Z: Q' l# H
1 a: |, l; l j7 U0 ?QT_BEGIN_HEADER
7 [" q8 q7 ?; K ~ QQT_BEGIN_NAMESPACE
0 f. m8 u3 K6 v' ~; n I% v8 N5 W; e: j# H6 @+ J3 m8 t
QT_MODULE(Core)
1 O: R9 j$ [7 n( i% m
' N7 x! ]8 d! e e9 Z1 R5 {#ifndef qdoc
7 {7 R8 }7 @7 u7 P" [1 F5 W( h* n& ~% v0 y) R4 F" m4 j
namespace QtConcurrent {
r1 }/ l6 l O' k' y- V, Q1 z3 R8 F9 y7 v
template <typename T>
4 X) h$ f; y7 { sstruct SelectSpecialization
% O1 S8 W8 m/ T1 |{$ z2 T0 @8 q& F* t# O1 e e
template <class Normal, class Void>
) u" _9 K' G; Q struct Type { typedef Normal type; };- j5 Z9 J' {- s
};- f- f# @( d9 J) r a+ o; U3 \; s
" h; e5 A A# D- {: x \4 X
template <>
" h+ `5 F# z, w2 c% S, jstruct SelectSpecialization<void>2 A+ J* t1 Y7 a
{" N' O" d, ?4 }8 p% w: X0 b& G
template <class Normal, class Void>8 e( u* u7 F5 _) l% N, K
struct Type { typedef Void type; };' s& T" g+ P- R: }& L( s
};' O$ c0 J1 ^' ~! o* m
" ^# g* g9 d, D0 a- rtemplate <typename T>
S" j) u: K% M& s2 rclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
6 d& j. x$ L2 U{& w& i6 ~- z8 q7 u" i+ X' p
public:
+ O' j9 O( m: V# f2 W: T$ n4 K: R! D QFuture<T> start()
, N( Q2 C8 h6 ` X9 L! n {
& s l- V" @7 m" o this->setRunnable(this);8 Y' v8 T9 ^+ j r4 Z# V
this->reportStarted();; O( [, I' }1 `8 p- H. h N4 R
QFuture<T> future = this->future();
# _( c: X. F5 _6 {! x0 E3 g1 { QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);9 p# m; X3 ^( N# Q1 _ G
return future;1 p1 a5 c0 r% Q; W F: u! `
}
/ s+ d6 r, q. L) G2 W, U O9 D p3 s9 r
void run() {}+ M) U: `: x. R/ _7 h" h3 I' v! Y# s
virtual void runFunctor() = 0;
! [2 h: t0 Y4 l& o# x};9 D3 V) J2 k/ X2 U; b# b
/ Y2 P d* D: v5 ~$ Z8 stemplate <typename T>
$ ?" P- \4 B1 ]; u$ gclass RunFunctionTask : public RunFunctionTaskBase<T>
1 G) p, I. [. i9 ]{
* s9 M3 i1 i2 N' v7 i( K `public:
4 o9 J8 O5 V5 }6 _& X' h1 L. w, u void run()+ N9 q n8 J) ]
{% }# S6 j$ }! |
if (this->isCanceled()) {
' O* ~2 Y" P+ i& p5 H4 M this->reportFinished();
$ C: o, I5 u( e8 `6 O. W4 } return;
6 N3 U8 F; F8 d9 L7 i }7 D+ J7 a, }- p- a
this->runFunctor();
, L- g" H* H! y p' h3 V9 R this->reportResult(result);, q Z! M' U D2 a, x
this->reportFinished(); ?: I$ c4 f' K: g* ]
}2 q+ o, R6 j, B/ d8 }
T result;( d7 y8 S. _ T% ]. R
};4 C! Z; j: c) u8 M8 {
" \ R3 W5 Y& G9 ctemplate <>
% \" L$ N9 g+ v7 Z; M& cclass RunFunctionTask<void> : public RunFunctionTaskBase<void>2 Y5 _- R; G1 P: J3 ?: o+ V
{
- a* `0 z g. ?2 \! Tpublic:3 F ~) X; u; q8 n: X9 V
void run()
$ x& R3 b% h8 u$ h, F0 A/ G; L- X2 y {
5 @$ f& C Q* y, {0 ]2 ^ if (this->isCanceled()) {
( W' o- M3 n$ C( k this->reportFinished();
/ b$ t; \. V! H return;& n. q, |0 T& B3 t" A% c/ L# y, M
}2 p) V5 ^( D! w
this->runFunctor();
9 H' P* Q# i' P7 `4 X this->reportFinished();
+ X; k, R% V- j0 R5 J6 [ }
2 f& a" m6 P: Q};' a0 C. [5 q$ U6 l
2 i) X! N! g5 w+ @" S- R3 m/ b} //namespace QtConcurrent
+ \8 Q# ?( s: \# a' _
2 x( b& [8 \; [- O% p#endif //qdoc9 Y+ v& k/ V/ X8 I* m% H; i, i
, ]2 Q, m# N! `) ^8 A, \( x# AQT_END_NAMESPACE* z& V7 M& H& D8 C' ?( W3 b
QT_END_HEADER
$ b$ f1 M" f" P3 ~3 A8 P
: P. V5 U; `/ |1 p#endif // QT_NO_CONCURRENT; }0 V2 @6 m1 o4 s
, ` V& I z+ P; ^
#endif+ x# [1 b/ i/ l. b
! E8 K) T; I v
|
|