|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
+ L2 Y9 M+ D$ ?2 t, a! m/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'1 l* J/ M$ D' w, V
3 q+ s9 `$ s' F! k# l" k! a
这个头文件内容如下:) v' `. r& }1 A6 s/ E8 ^7 ?3 n
#ifndef QTCONCURRENT_RUNBASE_H" G% V" r. U& s( N- ]) K
#define QTCONCURRENT_RUNBASE_H
; m6 `& P: @" ?* a4 M- y
' k4 t# F. L$ F& u' B% g( f! Z7 y#include <QtCore/qglobal.h>: u$ ?( U7 n: ~/ Z V
+ U# v' T! S* W, v# h4 |2 {* K( Q' K
#ifndef QT_NO_CONCURRENT
. H6 J" ]/ `3 Z, Z9 b
1 x: Z6 x' Z1 Q! P0 Q, I#include <QtCore/qfuture.h>
$ M4 O) T, i4 K! j+ \% Y) X! Y0 r#include <QtCore/qrunnable.h>
; m \9 L, U& H. ^ R, g#include <QtCore/qthreadpool.h>
0 @( a% t. t8 [8 s! d5 b
7 y$ s+ e# {6 }8 PQT_BEGIN_HEADER
+ N( P$ D) q6 }+ o0 C; y- y' AQT_BEGIN_NAMESPACE
: a( g# N2 T( [$ i. t- O8 r8 a: K. [& \$ P0 O, h. K
QT_MODULE(Core), |" ?/ _9 ?: G% B( D) q) T/ q
3 M1 ]4 s# u1 [5 K3 @. u#ifndef qdoc
" S7 _) o. P) P4 [. t( ^
5 g" O7 H6 ]' C) Q9 \. S# h+ ] pnamespace QtConcurrent {
; V' [8 D, Z: R; V
0 J: F+ {" x4 ^* j. mtemplate <typename T>
2 t2 h7 ?/ N" j. T y7 z8 Astruct SelectSpecialization
% S. }1 [0 h5 I: Z4 p% k4 B{6 N6 N3 U- H* @7 W- j/ G
template <class Normal, class Void>: [; Y0 A8 A& V* @" Q! N; }% k
struct Type { typedef Normal type; };6 \: Z$ W6 j7 L
};
6 o* `5 g3 F1 R- B1 B8 }& _3 B
; v. r4 ?8 C4 V/ s/ I2 z1 ttemplate <>2 ~6 o+ g# P1 |: G4 R
struct SelectSpecialization<void>0 S1 q; }% D2 \ i$ g2 v9 ^
{# g: f/ W2 ?5 z% @
template <class Normal, class Void>
% z/ a* ?- r3 c+ g& [( U struct Type { typedef Void type; };, ]8 ^% }2 S/ g3 i/ V& d g# G
};$ k( a% k1 E! q+ N. o
: ~, ~6 N7 a. |' [template <typename T>1 H7 J# L2 m7 f. H
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable5 O# C3 d: H6 n0 N0 r
{6 B( O5 I% I6 Y }* m
public:
4 K" _+ I1 L, l# D" Y$ J3 s QFuture<T> start()
, G) w! ^% i8 U! r, f3 u {
3 p# ~# ]! T6 n' g this->setRunnable(this);5 Q0 n5 a4 b4 U; @& A7 w0 S; I; z
this->reportStarted();
/ [4 p, a* u( p. e' r- c$ N- o0 Z QFuture<T> future = this->future();
8 n, \5 Q: ?' r i& T9 t QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);$ x5 G- ?6 z1 h- C
return future;! g R3 _9 h2 H2 O+ t
}& ?$ V7 X* H& T$ d8 f9 \, B
$ }5 N& d) H- A/ ~6 q9 t void run() {}4 _8 q" V1 ]0 Y- \7 J( A# I
virtual void runFunctor() = 0;6 j7 N" V( d% l* \$ c$ S
};
3 W3 U9 n- N. P
" W- e) K, h, r8 [template <typename T>3 \& f9 _$ F3 \9 T& Q% y" f7 Y
class RunFunctionTask : public RunFunctionTaskBase<T>& t# X; u/ Q8 j: f9 L8 B
{
" Q$ p. J/ H" lpublic:
0 O# ]2 ?# Y- i9 N; @ void run()9 q) z' [2 {/ E! _& s6 O
{2 Y& m L; [- L, v) A6 m
if (this->isCanceled()) {( W! U* T( H9 f( [# a$ `
this->reportFinished();
$ b$ s4 W! J" z& N. a return;
9 l5 F) R" d. ] Q/ D' ` }
3 L+ r g' b) X' _" s/ ^! { this->runFunctor();8 S l& L, y$ ~+ Z# M) ~$ u, g5 I
this->reportResult(result);: O+ D4 @1 Y$ u) r
this->reportFinished();
7 h9 Y" c- S4 N5 T; a7 w" a }
) y# n6 a3 }& o; R4 ~; ~' w6 n! i T result;
4 B8 t; u) ~( H& M9 C};
1 W4 p$ T! \2 i6 _ _; r
/ L, @/ U1 Q9 H% [template <>
; h1 A5 h1 x! @" sclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
- H+ T" p4 s$ e ~$ Y{ A3 b4 o, o |( f- e5 e: c
public:
' q) i2 c7 R: m void run()
5 d: j( L3 ?7 j- G {
/ ^$ S8 U. Y. z ] if (this->isCanceled()) {$ G& }. u0 m' V f7 e
this->reportFinished();
2 o5 d; M' v" `8 J: ?, H return;
0 A& k% u2 @& j& D/ ]( t3 I }
- V' ^5 G, a9 Q0 N2 e6 F this->runFunctor();! D( H) c, t5 c _8 R& y: J5 Y
this->reportFinished();& b& Y8 `5 H0 ]7 B2 N: R. P
}9 A! w7 t- k- k& e5 a* V
};
6 p) ?4 m# O H( \5 g0 i, e' F
* m/ i, J7 L7 B( ]} //namespace QtConcurrent1 J1 j6 h4 r* [% M9 y
' x7 A( P" p, F. l$ W% d, \#endif //qdoc F! F: H2 b* r4 K: Q& ?( r
" N$ b7 A q" U; TQT_END_NAMESPACE- ]& v9 w: t# m) k
QT_END_HEADER
0 [7 a& j8 m) h% |8 n4 T3 k, [# W: i/ n. H; U2 J
#endif // QT_NO_CONCURRENT# S; J) W$ y, ^) j- P% o! l9 J# u
- }8 k6 u& ]* c4 v#endif7 _- r* ]2 } ~! C5 f
8 A# ~0 |4 X% W# u: F+ n# m |
|