|
|
我对syslink进行交叉编译到arm,但是出现如下错误:" \' c4 ?3 R- g; b/ S& q; Q
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
% x) C- Z E: q( |& H. r2 Q0 Z3 R
& Z4 m' C5 q+ k" n9 b* G; C这个头文件内容如下:/ T" y4 n% c( v0 y; b1 D
#ifndef QTCONCURRENT_RUNBASE_H
% V$ b. ~( [' l m& {4 j6 C4 Z#define QTCONCURRENT_RUNBASE_H" V1 }0 L( z. p% B& g% j
4 m4 M/ h7 R9 D+ ~
#include <QtCore/qglobal.h>
/ D: o' Y0 S$ L; P0 f. @, @, B$ c' K4 S
#ifndef QT_NO_CONCURRENT
* h; y9 N: f# ?" d) x
( [, S% a: s) {# c#include <QtCore/qfuture.h>
1 g2 Y8 M7 V; E; O$ O8 T#include <QtCore/qrunnable.h>
& ~( A- ~: j4 h( S6 Q3 f#include <QtCore/qthreadpool.h>
/ p4 B8 h3 Q4 X4 G" x, j: r6 f% q0 B' O+ i( ^
QT_BEGIN_HEADER& z/ X3 s4 j1 v% {" F: t3 g
QT_BEGIN_NAMESPACE
; D. Q0 L8 C$ i" b" U- E7 U& `1 [3 b5 E6 i
QT_MODULE(Core)( m4 ]( l& V- |# H; S8 u6 i( x
. Z @& u8 } @$ N1 ^! b#ifndef qdoc
3 u$ J8 p/ r( W' B& P( q! h ?4 _
. Q) U. o6 w8 J. x r2 xnamespace QtConcurrent {6 l3 v0 F8 A9 d4 \" F2 D5 x& z9 g
' R1 `% u0 ~' f2 Ntemplate <typename T>
5 _7 T& e5 X- W% \struct SelectSpecialization& [! ?, i) {6 ^* D! p! j
{
# d0 {0 e% v N# \ template <class Normal, class Void>
( A5 a7 B5 b7 u struct Type { typedef Normal type; }; H. U: k3 V! V j, k
}; i# K7 m4 M7 M& B* E) a
9 F( o' t4 l4 P
template <>1 H$ k$ K7 T0 H3 u6 H
struct SelectSpecialization<void>8 A0 L0 {' v$ i" R' b; f7 R
{- r, m+ T5 R7 R$ }' ? r! a7 S0 O. X! Y
template <class Normal, class Void>1 P/ Z# f# H& C! _
struct Type { typedef Void type; }; o4 ?4 Z9 Z0 P, o+ `7 U- Z
};
3 L$ Q/ }# C0 O- A; I4 V/ l
3 o' j" J9 {( g1 Q1 Rtemplate <typename T>
0 r$ u0 y% c* d& d$ oclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable! I0 T( X9 Z# e! T* L
{
6 Q" a' t/ |. cpublic:
4 V& `" K. z8 m) G) L QFuture<T> start()
% t9 [0 m( K$ q( \8 y1 t ~ {* p: t( Q! Z9 P. c$ \- A$ i
this->setRunnable(this);
5 r. O+ R6 W) F2 h this->reportStarted();
- J, F, K9 X; j" l1 w QFuture<T> future = this->future();
! a/ D7 {8 t0 `4 I QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
$ b) y' Z0 q+ s return future;2 [9 E. }* V; S1 m6 d1 ]8 U
}
0 u+ ^' `* a- ~; A. _1 ]2 e$ c6 h/ `$ m: A7 I% v
void run() {}) [+ O/ ? b) W2 d3 q3 P
virtual void runFunctor() = 0;! S/ q) T5 |' p; F9 e
};
' |6 ? b% q% F$ m9 w6 `
; B* U7 }* w, _0 Vtemplate <typename T>
( Q$ g' B5 n/ W5 g% n" h1 N$ jclass RunFunctionTask : public RunFunctionTaskBase<T>
; z- L5 p. `6 p{8 v+ G" P0 Z8 }* M& ~
public:. E& B. ^/ M0 P& I: T
void run()7 p) @4 C3 A" Z
{
1 V: F$ i2 d, Z. i5 |5 [* o if (this->isCanceled()) {
% P1 T2 K$ U' m$ }( r# U% [: D this->reportFinished();" l& J, F/ O% _; ~; u( x0 ^
return;8 ^' R# ^1 O% ~6 g
}
7 S$ j. o/ I' j8 \" B! p# O# k this->runFunctor();6 ~3 A6 `2 V+ s3 N8 _
this->reportResult(result);$ l4 ^" |" @) Y, O
this->reportFinished();
4 q/ s0 U' C$ |# a7 Q. z5 N" { }
7 s7 B+ r- ~$ R% d2 d T result;# ^& u+ S* v3 F" s
};
# t }2 _/ p) W6 P7 V
- [ L$ S6 k! D% Rtemplate <>
) m7 C3 G' N( D( p* l6 G/ eclass RunFunctionTask<void> : public RunFunctionTaskBase<void>& J. e* r. A$ m& y$ P
{5 H9 O- y' F8 p2 Q$ Q
public:3 r) h5 Q; ]+ K+ O8 M: o5 a/ _- a9 [
void run()
- [. Q& a8 l" k, Z) } {0 n) c {8 C' a0 K
if (this->isCanceled()) {- l- J6 T* U$ w; z
this->reportFinished();+ n. v9 ]4 e. }( [! x: w5 S n
return;: d2 k/ @( O: I; B
}
& P. N, ^ y; O7 ] this->runFunctor();
6 J' y. T c- @* Z this->reportFinished();: ]9 b# ` }1 Z* Y4 }- R
}4 T# D u3 r& d
};* |- W9 G- R, F" y
& e& p+ k, ]" ?2 Q+ [} //namespace QtConcurrent
. ?+ |. D ?; o& |( e' z5 M
* |6 l- l; e7 } i' ]; |#endif //qdoc
9 C% M8 f6 [0 S, t0 N
; }4 b1 h1 R! j0 E. @QT_END_NAMESPACE
# g' t. k1 v5 d( g" T( O7 H7 sQT_END_HEADER8 L5 q% b6 s0 l6 g2 T8 l+ n
! b. k% w& D. F( E( |* O#endif // QT_NO_CONCURRENT
0 ~* `! G: l8 x6 W! u' A' ]4 _, E0 O/ H2 y
#endif
5 k, m3 I) M9 b5 w8 o+ T5 D8 c' Z. U; R5 I& u( N
|
|