|
我对syslink进行交叉编译到arm,但是出现如下错误:5 U& Y* E0 w. J+ W" t' u$ Z, L# 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'
/ E8 v) s$ s; {% @ e% I/ h% F3 M& X* q. w$ @6 X- n
这个头文件内容如下:
y$ k) c( k& y d5 }3 B#ifndef QTCONCURRENT_RUNBASE_H
0 M2 `$ ]6 c& C. Z, @* K; k#define QTCONCURRENT_RUNBASE_H$ d5 U |/ u( F( {- j, P
7 Z5 Y9 h) `6 f. b. t! W
#include <QtCore/qglobal.h>; U4 ^* N5 g r' q$ D
( T* u) W! o, Q1 @3 P! b1 v
#ifndef QT_NO_CONCURRENT
, x* A4 G! x. E
0 ~6 Y6 C0 `! L4 o7 T5 P8 U" p#include <QtCore/qfuture.h># b. Y. `- q6 W: P; i
#include <QtCore/qrunnable.h>
* ?- e. S/ k% K. ^) ?/ k#include <QtCore/qthreadpool.h>
0 U$ s9 q) f+ D7 T* T( L! \/ L8 M6 k) y2 a
QT_BEGIN_HEADER
B( j! A% Q+ F: P O, a8 \QT_BEGIN_NAMESPACE' C- R. _3 J! k1 _+ a+ e5 p2 V
% W: u# z" [7 O8 Q7 F
QT_MODULE(Core)/ c& Y# [& B- M7 H
# Y6 X }! r* T" M#ifndef qdoc
. O. R- m& ~' [" l6 X' w! N
$ {4 O5 t& U2 I. s P0 v! e" r( Pnamespace QtConcurrent {
# s! v" G+ g4 [( I: i
( y$ Q3 a* P' E" Otemplate <typename T>
" ?# A' ~8 _9 M1 I- W' s% ustruct SelectSpecialization6 t( P2 ]/ A% ?( Y' |
{
2 B. o+ \% T: I6 `# e1 Y template <class Normal, class Void>+ [0 j3 H2 P, }7 Q. D
struct Type { typedef Normal type; };
4 R# |0 z9 p7 b- O7 X};
+ M6 w4 c P8 [/ l0 q
8 L7 E0 l! H. ?3 Ltemplate <>
2 X' i0 K) M6 zstruct SelectSpecialization<void>- W+ o# E' C- Q. W
{
! z! @: ~: l/ E5 e2 E( C4 @0 K( [7 W template <class Normal, class Void>& g5 {" M& B0 z( f: K/ R' m
struct Type { typedef Void type; };# v! q0 g; m- W, T1 @% E
};
% D* y m) i! P& r3 {; I
4 R |% l ~+ ?/ K( S4 ttemplate <typename T>* u9 ~9 _( g- r/ c
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
! K% N+ g# H: e: L8 y4 @" _* Y{
$ {- r0 g. v7 {/ C- gpublic:" o8 P0 U: G s1 ?% q- h
QFuture<T> start()
! e7 {2 n" h( `) E9 N5 m; k {: L @. {5 b5 X9 g; y |- s
this->setRunnable(this);; y* N. @$ s: L3 M- Z
this->reportStarted();
6 S# T4 z2 f2 c* o5 d3 b/ g" M QFuture<T> future = this->future();
, v S( Q) ^& e QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
" E3 v1 a1 b8 w3 b0 V `& c$ p return future;& l3 x z" E' u& @' f! k8 c3 M
}
5 y6 y& L U' |9 ]% o( @6 C+ ]1 A4 x- }4 h- z }
void run() {}
$ p: t' H8 F; ? virtual void runFunctor() = 0;
! |, @9 z" m# G& K0 x};
/ [* c/ v# m3 V5 w. @1 S; p; |" W$ ^1 n9 x. d d
template <typename T>
1 V8 `1 K; d, {$ yclass RunFunctionTask : public RunFunctionTaskBase<T>
: A9 _- x R1 i K( d/ [# c{
; S; L; k1 k5 R* K; W$ u, [public:- t: r) P3 ~# \5 M7 e; i0 |
void run()
4 y, Y8 J8 H, ]3 k# d% { {- f8 S/ b$ M8 g3 |0 k a; g8 S1 W
if (this->isCanceled()) {
# d; \! v- Y7 n4 O& T this->reportFinished();; [# `% I& n7 S) k
return;. o5 Q3 k3 ^1 h$ X8 r3 y' a
}- {) R1 \0 Y: W+ Y8 z# P
this->runFunctor();# R/ i* c- O% @! i. z+ D
this->reportResult(result);/ Z# y# V5 a6 v6 }$ i3 r
this->reportFinished();
1 U- S/ K! t6 i' a }
" e9 E% a5 l5 P. e) n% r T result; v2 g1 z4 Y$ j2 u
};6 Z& k4 U, i& Z
" ?$ h- |2 o+ h( a$ ^0 ktemplate <>
6 q* d* k q* C% e" M5 P4 Hclass RunFunctionTask<void> : public RunFunctionTaskBase<void>* B! O+ C# ?" x; U8 U/ h
{
9 h- x& r$ f# q9 ?9 ^' j5 dpublic:" l) b0 ?0 L8 f1 Q6 c+ }
void run()
9 t7 B$ y& g9 z9 l) c- o, H* d7 t {$ g+ Z" [& m, I4 m* J' q9 G) }% b
if (this->isCanceled()) {
- |7 z' S9 R# A8 u this->reportFinished();
! P* ?6 f, @ l8 q" w" g return;
$ f k2 ~! w0 |% P0 l0 Q) Y- L }1 h4 u$ q* ~) j2 ?' a
this->runFunctor();* `( E" L1 J- m% s2 z7 D: l5 C
this->reportFinished();
0 J9 y6 Q* N4 L y1 o }
- F3 M# S' \5 n) q};
' M! L! m" K3 q$ M$ p& \5 D0 G: [ `3 \
} //namespace QtConcurrent3 u, _7 g0 R' r" N9 v5 I% Z3 c
1 W. h% l# ~7 o+ s3 o7 z#endif //qdoc
: v1 Z7 m6 g, w9 S2 v3 i- F8 r
9 r; Z/ i ]- E2 ~QT_END_NAMESPACE
! g7 {+ S% H: [7 Z5 P$ zQT_END_HEADER
' z$ c% }& Q3 @3 R0 `5 v: f' h. n* x9 y; u' q# D
#endif // QT_NO_CONCURRENT0 {1 A7 {# ` ]8 o; Q
. ^- G2 \6 u( _+ p6 ^#endif8 b- X! F- [/ W% j' {# A1 Z
+ \/ N4 C2 j ]7 p( V7 i
|
|