|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
7 \% n$ ?1 m1 ]/ u3 a1 C/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 t9 I9 A+ w8 M& h( b `; g6 t' ^# p9 z! t7 V$ }
这个头文件内容如下:5 j5 s! G' |5 m* Y: m9 Q" p$ O
#ifndef QTCONCURRENT_RUNBASE_H" H. G# i3 ?% x
#define QTCONCURRENT_RUNBASE_H
# a$ P- H$ ?2 e. i' G: b0 d$ T# t7 S0 Y8 y
#include <QtCore/qglobal.h>
0 H& `3 d) D5 `- Z2 e* x5 t7 m+ a R; z$ Q$ D8 ~; t2 j
#ifndef QT_NO_CONCURRENT
% s* P: o7 l3 ~/ J4 J0 R
" v3 w. d; H4 a- }, U#include <QtCore/qfuture.h>
# ~2 p7 {# I) m#include <QtCore/qrunnable.h>
2 c1 T% {0 h6 L# b#include <QtCore/qthreadpool.h>
) b& ?, {" X/ K4 @! q6 b" y* e3 q% v- g5 `, s
QT_BEGIN_HEADER9 q5 r& d- _2 J$ g9 `2 b7 S- R8 U# D
QT_BEGIN_NAMESPACE7 O9 w% p- X3 P' x; n# C9 x
7 C" i) G4 L7 H7 W, U) ~
QT_MODULE(Core)
% o5 i3 ^& B& h6 n& e" Q3 i2 g
' F5 n3 I# m( J7 J! i" a#ifndef qdoc
# |2 d! r& [8 ? X
( _3 I! e+ u( D0 V& ?; }0 }namespace QtConcurrent { o, F' } U) U$ Y6 _
" S7 K& |; E' O Ttemplate <typename T>
8 \4 W7 Z$ d- }6 X0 N) p0 t9 k9 T/ Astruct SelectSpecialization# x3 B3 ?; Z6 f. a* ]
{
/ L$ Z* C, \/ q template <class Normal, class Void>
; x" P) o4 U: G7 |0 ^/ N2 H struct Type { typedef Normal type; };) i$ Z2 }( }- J, o8 {; I
};+ z, f4 Y) o: b- @9 j3 l
4 }; |4 u5 z! x* K5 Y. [- u! `% h
template <>
. q" A( c+ _* u* i; }struct SelectSpecialization<void>
5 z' {5 H e4 D' o6 k{1 p$ X/ p3 i' l- S- y
template <class Normal, class Void>/ b! K5 K, b2 J& O$ a3 R$ S/ i! O
struct Type { typedef Void type; };4 R; G0 Y, F+ {' n" D1 N
};4 \4 n1 N' r: C8 F
% R* M# G3 e }2 gtemplate <typename T>* [7 H6 @4 l; }5 C: h' l7 l6 R$ B3 I
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable2 S! p' B1 |2 T- Z- y
{5 x" a# {( m8 L: P0 c
public:
0 {7 R3 y S) Y+ R$ y/ Q z } QFuture<T> start()
* R' d( v1 }7 i" l4 L {
. }. G) A& ?- v- @, \$ Q b this->setRunnable(this);/ h; u- v5 T% G2 X* |
this->reportStarted();% n2 I6 P6 ?6 Q* b$ L8 ]3 V
QFuture<T> future = this->future();
* s% G6 M0 G8 f' w% F5 j2 _- a QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
; H% G+ E- b7 H1 { _' d return future; l+ Z1 e, T$ |: w
}: w1 F# a, h* q6 Y1 G
; r: q0 P9 z6 K& @% z& q& T4 @7 n
void run() {}$ S' P4 w# X4 A
virtual void runFunctor() = 0;
) H8 F4 e* r6 X. c: k) f9 V};/ M' D3 h# m6 c1 v# G
: O; k4 v. D9 u6 r* ?. r' @# l, E6 A6 s6 Atemplate <typename T>
6 G! J; n2 P. ~- Zclass RunFunctionTask : public RunFunctionTaskBase<T>% w1 Z' N4 a4 l! O
{
7 M1 B" t' i7 b* j- v) Lpublic:
5 a6 ~8 q! v: M0 k/ c9 Z void run()
* X! g2 Q+ D4 ]! J {
* j' A( X. i' {- C$ i% D if (this->isCanceled()) {% M' i+ Z f' Z) X6 Q1 l
this->reportFinished();) ^/ |9 Z" X: O: e
return;
# S. o' O1 S% V- n, V' d' o }8 f# u$ R# |% r- H% I4 c
this->runFunctor();) ^; l u2 o( @ S& b( ?3 v6 A, K
this->reportResult(result);0 k! R0 x6 K, ]; u0 q
this->reportFinished();- N) U' G) N7 F: C) A" v
}+ u2 C, b n, d8 O' c/ M! K
T result;" P0 v9 N6 n% X) U4 o9 |# }& J
};# D$ Z2 B, c4 a4 z: Z6 s4 c9 l
1 s$ u; S9 m! Q8 {5 m
template <>
9 |) ^4 Z/ h, L f) Wclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
. @+ z' g0 Z$ z9 ~* o& Z{( @3 D9 N, l, [% O! I) S
public:
3 F; O0 @* ]7 Z$ D( k$ M4 o3 J void run()
$ v& ^' `$ w+ D4 @+ }% k( h {- }: d3 l( |3 L& t
if (this->isCanceled()) {' y" z$ }7 \7 C7 P6 ^
this->reportFinished();
0 _# j& l! ]* N- O7 @ return;( ]4 S) a( G1 ~& e4 T& k
}
; r" m1 ?( ~1 p t this->runFunctor();
+ ^; f( n: r5 o& `6 }6 d this->reportFinished();. |$ V# O4 U s4 l( k g$ ?: h: U
}
; q) z0 P) M T/ P1 Y};
) m1 S! b* `3 a9 ^4 }2 b# }& Z U( `
- S# n- g$ K9 T} //namespace QtConcurrent' P; u; R' e% Z7 d$ i2 {2 @: J" m
+ I$ I* V& R( f& s' o#endif //qdoc
, k" y! F* E8 g3 m, L3 L
+ G C. t( A T cQT_END_NAMESPACE
! B" T4 T% i( ^) ]' ?+ r* `QT_END_HEADER
" y, ?' u( J! y! j+ {' y1 L e" [/ w4 |: M; h, L' l
#endif // QT_NO_CONCURRENT2 l6 v; q6 j- |' {
, G [: X' u$ b7 w8 y/ f
#endif
+ W7 E: t, y: ]& |8 K" r
4 ^ Q: [. a! Z0 l' u |
|