|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
6 x" B% g8 F( [0 g/ P/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'' ]0 V: W4 C: A* M" F8 K' I, A
U/ p" l J3 ]这个头文件内容如下:
; }# E7 ~. V E" t, n& f6 J: c+ @7 M#ifndef QTCONCURRENT_RUNBASE_H+ G5 H7 K- z( a7 X* c! s
#define QTCONCURRENT_RUNBASE_H
T/ `% s4 T8 t; {
" ?# c% O! `& ^/ d: _#include <QtCore/qglobal.h>. A0 P9 y8 E+ ^
& w; t5 N2 b& h/ i" z# H) y
#ifndef QT_NO_CONCURRENT! R+ L- n4 T- Y& P2 w
) m I1 Y% k/ G$ T. |' R6 U) b#include <QtCore/qfuture.h>
9 e: a% _ V% s2 W* g% Y#include <QtCore/qrunnable.h>
# P1 N W" D2 X4 g% W9 u#include <QtCore/qthreadpool.h>
. A2 b$ s7 s+ ]0 w" T' ^7 ~8 b6 m7 D! A2 I5 g; x5 ^
QT_BEGIN_HEADER
; J: O: F! p% R, ]9 r' E" iQT_BEGIN_NAMESPACE
( {3 w9 T# x! R" _
. \ Y- Z% b+ f. e2 T- B/ |4 n+ dQT_MODULE(Core)
2 S$ a/ A2 M' ^) @# U) d, ]3 ]; b# F. r' G
#ifndef qdoc$ w& U/ e) m% y8 E1 I$ X
9 e5 l V) m" t% z* E
namespace QtConcurrent {* }+ R2 m( {* c1 Z) f) c( h
$ ?2 j) O! Z) ?7 y" ]: ]0 C1 Ftemplate <typename T>
$ { z: x0 V. z+ A) G3 f3 `struct SelectSpecialization
/ s( U6 t+ y% H1 q. O5 O! z{7 O# n3 i+ O. u2 j' {
template <class Normal, class Void>
4 a; y$ c6 \7 g7 w$ V4 P0 L struct Type { typedef Normal type; };
8 B, l- l! C$ t. n& ~};( @( }4 }+ f2 J+ N
1 I0 N0 z: I7 q' L9 ~+ B4 R
template <>
) m5 y' E, a. Y6 U# {struct SelectSpecialization<void>/ I1 t2 z& }) L% _
{
( y0 L& W5 F" Z/ e% j5 u4 D& t4 M template <class Normal, class Void>& e! ]. R- |# w0 h& b1 f
struct Type { typedef Void type; };
9 Q9 m8 V/ E R+ o};2 x+ z* ^, x- @ K2 a
8 h" H) C9 S4 w" ^/ X
template <typename T>
& e5 o g m% {' Oclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable" o! a* O* ]7 E
{% @, o3 H0 t' H
public:6 |; K; H- u- Y: ^9 X) q) A) G
QFuture<T> start(): h7 I! W( Y) D, {
{. Z/ k& D- ]0 d9 n
this->setRunnable(this);" ~1 |# j) k: Q4 V& \& B, m" b
this->reportStarted();8 b8 Q! J% r$ [ ^
QFuture<T> future = this->future();+ T: ]1 @; B& v P
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
- p5 l; d. Y. r& e7 N8 N return future;
6 U6 Q8 K% p: P0 }. R4 e+ b% h: m& T& ` }
; _ K* l; A& c/ j* r/ W* |3 N% a" D; m' _" I p1 a7 v
void run() {}
+ t! f6 H& }5 l! K' ? virtual void runFunctor() = 0;
0 ?! w5 T; p) e" s* u* ~};. m% m- ? {' H& X/ h/ o
6 F. e5 b( J% Q# b# Q+ y
template <typename T>
+ \. F( @! E# ]& d6 Y$ Z. d( \class RunFunctionTask : public RunFunctionTaskBase<T>
4 U0 w4 K6 T/ W% x& `1 a{
# A$ O: v4 Q* M9 W2 a# }/ zpublic:
1 c/ ?2 P3 d3 i1 r9 r1 L" N/ P void run()1 `( b$ v" D% H% f1 ]7 {, }; R
{- E" C* S) Z4 L5 b
if (this->isCanceled()) {
! j2 l( P2 e7 a1 ~ E+ m this->reportFinished();- g4 x4 X4 Q. r( g6 S' i
return;
: q# z, G' R# p! V% e; ?+ T }1 B4 Z7 i" Y. l2 Y7 i3 h
this->runFunctor();& @8 Z' M: ^* i
this->reportResult(result);
: N" \0 q$ s0 M ~$ q this->reportFinished();
0 n: D9 @9 C: V }
3 z1 x v, N4 e0 m; e" z" C T result;
3 t' Y% S. w4 I; j};
/ ]& {7 v5 n' g" [9 t! i/ V7 v
4 c* z! C0 K! V$ Otemplate <>7 D6 v( w" \7 n
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
3 e! V% R3 g0 v% I; N& q' K{* l5 F$ v& s: C- {. J
public:3 |7 @3 a! j/ k5 U8 ~
void run()
6 G* ?! n0 |4 T" B7 L6 T$ j {
* G4 u. N! g2 W2 W if (this->isCanceled()) {1 _+ @3 @- X/ E
this->reportFinished();
5 U. D1 v/ F3 ]/ p9 M return;
. h( e4 ~* \" m' v }
2 J) T# B& ?( T- v% o this->runFunctor();! W: X0 F4 B# f
this->reportFinished();
# @5 y1 J6 b$ { }
- O0 C- m: ` V0 R, `$ X' q! n};
. r- L2 k! ]! f; ]) |$ l0 D( v! c9 Z* u+ _2 v( o* S
} //namespace QtConcurrent( n2 X4 Y1 A% w n
% ?) X G7 \) t# k#endif //qdoc. h# C& [/ m; K4 n4 u- L4 L
% \0 \# O* f, }* F$ NQT_END_NAMESPACE3 W* ]3 }/ l, V8 [ E
QT_END_HEADER
& Y5 j9 E- Y: e' O$ O7 d6 h& c3 D- v+ k+ U* Y1 b7 {- a; ^
#endif // QT_NO_CONCURRENT- M1 @# h i, ^" r
5 L+ Y" w2 C4 W- @+ U" z#endif
" m' U0 c/ l3 O+ v0 `$ \ }
7 m! g N( V8 `* d2 F+ P9 b |
|