|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
+ \+ J( ?3 F* e) `/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
/ j/ v/ W* ? {8 p' l: T8 w
- `! x# W! H0 }- q这个头文件内容如下:% x4 R1 U/ z# g8 N5 q3 M# M; @
#ifndef QTCONCURRENT_RUNBASE_H
4 ]0 Q, L8 f0 Z' b#define QTCONCURRENT_RUNBASE_H. X, [4 q. V. Q& e8 z I& n
" ~ W6 n- i, k4 g& F#include <QtCore/qglobal.h>: H' H. J- O, I$ a4 y) W& w
3 o: M0 Y! {, {. g#ifndef QT_NO_CONCURRENT
' [* u2 }' O" T W: b0 ]- K+ P7 A9 ]% d& }, Q: T8 T
#include <QtCore/qfuture.h>
! U3 K) q2 V, J( Y#include <QtCore/qrunnable.h>
0 m, B1 a! W6 g! J9 P#include <QtCore/qthreadpool.h>
2 |0 A2 b0 h; _: b; A
# U$ x( q: m/ z+ LQT_BEGIN_HEADER3 E% p0 F9 f% ?3 g: Z
QT_BEGIN_NAMESPACE- j. G9 v/ T1 O) G3 `8 b
" @$ o1 }, E4 R! W1 n$ d j
QT_MODULE(Core)
8 ~$ F$ W( V6 k/ t7 D$ e
, T( C! _( y+ n#ifndef qdoc( J0 Q) W t: H' O8 T' N
9 O' W" |( U/ I4 C0 Vnamespace QtConcurrent {
' D U. o& A# P) O
% f6 Y# J! j4 q8 v% Atemplate <typename T>
( |/ t! J9 q, Kstruct SelectSpecialization
1 }7 Q" @4 B3 a{1 g% }0 ]% b$ m# H# l
template <class Normal, class Void>0 x& _& M4 J+ O/ \) I! Y) C
struct Type { typedef Normal type; };" O& b9 D% m% h7 Q
};
; i, x. A L: S0 r8 x- s7 Q2 V x
8 g% U0 ~; T1 |: O. gtemplate <>9 c: F2 m" i8 T3 @5 \# N* u
struct SelectSpecialization<void>
( ]* |) Y3 u3 B7 }6 i* O{3 b' @, _/ K# T1 B
template <class Normal, class Void>
3 c5 A3 Q& ~. n) Y struct Type { typedef Void type; };% A1 f& L+ l) ]' D" p6 F
};
# @" x/ n' p2 g8 X# \ l% O# V: L+ P1 ]5 b y, V
template <typename T>
/ L; c+ [$ d) ^7 P) Rclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
0 A1 u* T# j1 I1 i1 k5 Z{5 q# J) y2 r j
public:
a3 C0 b8 \$ g2 G% @7 l QFuture<T> start()
, h% c( Q, `, ^0 Y% X7 e1 | {
* L3 ?, e+ D* O ] J( | this->setRunnable(this);
?0 R, m% y% W4 s8 e+ Y0 I# y this->reportStarted();; |, t" e% j0 U9 _0 x6 u
QFuture<T> future = this->future();8 W9 F6 Q+ |( e9 g* [' P' x
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
) }" I! L8 X& w& M; O return future;% ^# T9 V1 S# ~8 `1 p% @
}3 t7 q2 i. `( J: D% b
& a b: f! ]1 }7 ` void run() {}
/ _6 _7 O. k0 O" c, {1 ?: S K virtual void runFunctor() = 0;
9 I3 j% u n" {};
3 r9 _/ C- Q; i5 X# U
6 |+ J. p1 y5 ?, y) n8 Ftemplate <typename T>7 N( f4 i; r6 Z$ H& l6 `
class RunFunctionTask : public RunFunctionTaskBase<T>" c* y! {! \9 U: k6 i6 } @
{
& i9 b; }7 N* |! v$ v+ n. rpublic:; D: a0 _5 e/ V, S" X
void run()
) K4 E" v; V# N r3 u- U- G. N/ [ {
& I# T% j# A C' ]7 E if (this->isCanceled()) {3 V$ {. s. p7 u0 C- U
this->reportFinished();5 t, Z. _! j- W; l$ ]9 b
return;
3 l) u% n3 t/ X, e$ w }4 s* Q0 P& M3 F! Q8 D5 l( ^4 I" r7 \& r
this->runFunctor();4 v6 A' f) D/ K
this->reportResult(result);% \) ]( s+ ], B# f# q
this->reportFinished();7 B. ~, B! P. ]0 A5 x6 n
}% L) Y0 j: J( q6 ?
T result;
6 P: r6 o- C4 L9 `};
' ^$ y# N' N/ ]- u7 k8 _
* D, ]2 J$ v" U3 ^$ Ftemplate <>
, k* A& P; P1 C1 o1 b0 E1 sclass RunFunctionTask<void> : public RunFunctionTaskBase<void>% o, O8 {; ?/ v8 w
{
0 Q' J' b0 J/ `0 n* opublic:8 c$ I/ g. v0 o
void run()- k0 [' `" c8 S/ j) b
{
- E) t1 Q9 i# d( L" P if (this->isCanceled()) {; b" n) @8 _/ Y4 ^) S
this->reportFinished();
' D% a+ A. z$ N4 g return;
" O( o( X+ c6 c- f }
, _. i. i( X6 n- w this->runFunctor();, C9 K/ M1 |: G
this->reportFinished();
. ~5 m: z# f9 a4 C' W. ^ }
* A) e* B7 v6 J+ Z5 s};
/ m, M' _7 |1 v! | i& U! N
6 }4 w' ^% O6 j} //namespace QtConcurrent
6 K3 P9 \; a( f5 t
1 J, G9 @0 \8 W: R v7 H#endif //qdoc
f6 o4 c9 n9 [4 ]# R) {
: R5 M ?* ^0 A' Y2 iQT_END_NAMESPACE% `2 s$ H9 d/ W
QT_END_HEADER: ~) K# K6 P9 f; A R
, p9 [' a5 t, U2 N- }
#endif // QT_NO_CONCURRENT
9 J. W8 M6 o" X9 ?' ~
/ E/ B. L; Y# `' I( `5 }#endif. u" g N: m; A" R
/ d/ F r; r1 g5 a# t* h
|
|