|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
8 K8 S6 t. J3 M1 E9 z+ r: 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'$ R S' m8 P% y
2 ^/ [) @+ d( ?. \) o0 j' F1 u
这个头文件内容如下:: {0 l8 N8 `0 F$ ]& _
#ifndef QTCONCURRENT_RUNBASE_H# X/ P/ E& e; K7 C5 F4 E& W9 A. `
#define QTCONCURRENT_RUNBASE_H
5 |: _3 p, ]( J3 w& F. g* G4 ~, C6 Z( B: ]: ]
#include <QtCore/qglobal.h>7 r4 l4 B: v9 V4 U# k
/ L& e. d! y, x
#ifndef QT_NO_CONCURRENT7 F8 b4 y# ^; n
5 _3 b) N0 S, h2 f# U; K5 Y
#include <QtCore/qfuture.h>5 j# i7 u2 V) G9 @
#include <QtCore/qrunnable.h>
9 Q* R1 N, l2 y8 l* i. X#include <QtCore/qthreadpool.h>- L- K& b4 I u
5 n+ B! m4 r. w4 D6 W- h
QT_BEGIN_HEADER
/ Z- X: A, u* |1 J# sQT_BEGIN_NAMESPACE
. g, ]. P* g% I! J) ]
$ r% ^) } \2 h; O+ _QT_MODULE(Core)3 C. w, N/ m0 f5 {0 d( b
3 \( |: O+ l/ G4 ` z#ifndef qdoc5 d2 L4 N2 Q- y3 f/ e1 W4 `
8 E3 ~$ g7 m$ g2 f0 cnamespace QtConcurrent {
B, t8 J+ x/ F* E! Z, M$ ~# M w
. v2 ?3 L' x: d' x- U! ktemplate <typename T>& k) S. U2 ^3 w' l
struct SelectSpecialization
3 h; n3 k2 s! z7 f% G{
1 R4 S3 Q, j' Z( @* i6 ~7 ] template <class Normal, class Void>0 P( z6 f( q2 x8 k! T
struct Type { typedef Normal type; };
; W% C- `) [! l8 ?};# [6 _8 V% j& J1 {; a
v; z' g5 k. Z2 o9 Xtemplate <>
* [. g2 ?' U) ?' c+ _) J) ?struct SelectSpecialization<void>/ q: V% C0 E: e' s3 w
{9 c1 k$ l, @8 ~% H+ [% l S/ S: q
template <class Normal, class Void>! g \7 R9 l- j J9 `1 T9 c
struct Type { typedef Void type; };) A: C3 |' j3 s
};: c( ~, @' D" S% a
' H) W, f3 E$ S9 L& ntemplate <typename T>
# o0 K" @) M$ W e9 ~5 G; i3 C+ mclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable+ v, _' c; b- L' ]2 F
{
2 C; b' A, ]! V% I$ o7 F$ ~public:
2 U. T0 U- B% K/ o h4 m QFuture<T> start()+ K7 y) @. j- V6 I" y: m- w
{. Y9 P: p$ ? w3 q/ c
this->setRunnable(this);
; @& N. S; z( O# f6 j) m7 F; ~ this->reportStarted();& [; [ {+ H& T
QFuture<T> future = this->future();
K0 g" r: n0 Y6 s% W QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
& J# k6 [, ^8 P4 z' n- D+ v& J return future;' }" y" y/ T8 R+ N/ @5 V
}
% R* x6 T M4 B% c6 t6 Y0 _" e$ U! N
void run() {}, ` W. H$ {6 A
virtual void runFunctor() = 0;
! V9 g9 Y% v7 E};: L6 J5 |4 v* v: D* u
3 n: k5 s9 T d1 W, T* Rtemplate <typename T># q7 u7 s' }) x a" ]+ T( b$ q" s
class RunFunctionTask : public RunFunctionTaskBase<T>
8 K: w M( b! s0 {{
4 x2 d$ E Z" U/ U3 h7 Q) h& u8 cpublic:
4 M. U7 o1 M) u) P1 R7 j( P void run()9 [4 t. p2 @/ S* m* f7 M' X
{
8 H* e8 r: s( \5 c if (this->isCanceled()) {
+ P w8 f1 |" _$ H this->reportFinished();
/ }) F# l& J- e" b% S return;
, P& e# f" _1 R9 e }3 T5 w# ^& I5 N
this->runFunctor();7 t# m* O( n$ o4 s
this->reportResult(result);
; C* }# y- W/ O6 P2 }4 f this->reportFinished();
- A1 X6 q# @4 g7 _ } B, o/ v& ?7 p, W8 d
T result;1 ?9 u3 o1 g0 z
};6 a$ G7 a6 Q$ d3 q9 O% n# I( ?
8 U2 x* |0 J$ l# v! d$ B/ Ztemplate <>' t$ I8 U5 {% L0 f# J
class RunFunctionTask<void> : public RunFunctionTaskBase<void>$ M& m7 Y. ~3 u& D M" |: j9 o
{$ {2 \8 _4 n* J) e" e
public:; ~. e7 W" a" O% c& A0 v
void run()
" [4 g: r! `/ M/ E# S {& f8 Z4 S' F% B3 e6 z! r
if (this->isCanceled()) {
* v) q5 ~* s4 i* e) A S) ^5 B this->reportFinished();
; P( F: u9 O% e' m) K return;! N: _; v- d; Z' h% s
}
- z! @' c6 f* t this->runFunctor();8 O, H9 f8 L) X7 o# E* R
this->reportFinished();
1 w. ]! R, `/ \5 T Z2 u. f( a2 j }& ]9 c& q7 J* X6 b5 X& N6 v
};
: |* _' K y6 k% ~# D! o
! w% U/ M/ o! @} //namespace QtConcurrent
3 u+ `( W) T, g; Q8 {' Q4 X
4 |' ?1 [8 C9 V% K) T G#endif //qdoc8 N8 t% q4 d/ }9 O; P( | Z; [( u
4 m8 }( i& J% v$ {" q" y
QT_END_NAMESPACE% Z# W8 ?+ E0 P% _* I4 ]
QT_END_HEADER
" z3 @+ Q8 [2 k5 ` b8 w( a3 v2 T2 N' e0 G6 E$ C
#endif // QT_NO_CONCURRENT" u$ C. q5 g) e% Y- {* Z' {
8 n+ l1 A: u, E! ^9 v! s
#endif" v9 H" P3 T# B& {$ f3 z0 D; A. h+ q/ D
# v- m1 t8 `( r+ n3 T5 x7 e- n |
|