|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
7 x3 r7 J u" D1 W+ f+ \; X* X9 _( V2 ]/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'2 T& v* N2 U6 v( M
1 U2 s3 M5 R7 S2 j# a7 C) l
这个头文件内容如下: j2 U6 j9 f2 b) t# T3 O9 A
#ifndef QTCONCURRENT_RUNBASE_H
6 p4 ] u" D# n. O#define QTCONCURRENT_RUNBASE_H
4 _. ? U6 v+ u$ ?$ m
: b! F. [7 V% p; ?: }6 w/ }#include <QtCore/qglobal.h>+ k+ m( K9 y4 V* E4 G
, A x5 Z1 \2 m& p' e#ifndef QT_NO_CONCURRENT& L* l' [6 Z6 y% ]' y; J/ i7 F
7 _* x( S8 D& ~
#include <QtCore/qfuture.h>
( V, h z; \* e#include <QtCore/qrunnable.h>. r4 o) w; O# l; e" x
#include <QtCore/qthreadpool.h>8 D% j* v/ y" M6 e `* J
+ ~3 |9 H. v. o
QT_BEGIN_HEADER
& ]8 x- w% {- LQT_BEGIN_NAMESPACE0 ^1 H* E' ~/ J# i+ V
* O( }" F* N6 o: P8 g& F. c: d
QT_MODULE(Core)- F4 x( d1 { W: Q* v% `
( @6 W9 Z, V; |6 Y: T5 l
#ifndef qdoc
0 \5 A2 A; A9 h4 ?* x6 w) K
- _% \& H. l! X# r6 B5 f6 E6 enamespace QtConcurrent {
( \& k8 X+ @' f* i8 Q
- z8 I& y+ R! J# Dtemplate <typename T>
* m( p( E; H+ dstruct SelectSpecialization9 [1 y( S: a) E- |1 D C) ~, G
{+ P. J8 }9 ~! s
template <class Normal, class Void>; v" u/ [/ n" ` K3 t6 f' u
struct Type { typedef Normal type; };, K5 |. T! {! S6 J* U& q Q" }
};" {) c/ S' M( {' T0 O9 J! m8 J
) {5 Q8 }' I% ^5 w% Y- Ntemplate <>5 j9 n8 L9 d7 A# e# O- T
struct SelectSpecialization<void>6 ?- f7 u. ~* ~' O( A# N0 g5 X( _
{
* x0 V M% d" g; x' J" m7 ^ template <class Normal, class Void>
0 l) G: ^- [. X struct Type { typedef Void type; };
7 b' i# B2 G- Z& j7 V6 }};
% s5 D% Z% ]. }+ l7 @% e1 ^0 U0 h8 j
' C+ i) u6 l" c4 e: o% Ltemplate <typename T>/ \7 c' R- k" e0 p" V# _. X
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
6 D0 T+ f- U6 k. T: |{
( U: U9 V8 u# |/ h: p' `, k+ g2 Xpublic:
" |" x8 @+ B Z } {& P: ~) K. q QFuture<T> start()
2 k2 g" ?% X6 ~% x: ^2 |7 d {
/ f% {0 O2 X. y4 V! m this->setRunnable(this);. K6 @0 h: \" c$ h. s
this->reportStarted();
0 S5 o( v6 V' | QFuture<T> future = this->future();
3 T! l, q8 |& H' i QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
6 }1 P! W. t- B: H. T) x return future;
6 Y# H' c6 u0 L( r0 Z& M9 R5 J8 A }/ | V7 [5 m# t+ D; y c. Z
2 o6 T! t# J8 H0 m$ f
void run() {}
; T. v( V! ~8 w& Z" v5 I virtual void runFunctor() = 0;
- N# k6 z$ d7 e5 B};4 V) B8 T0 Q \0 Y l
; f7 R c8 H& m, V) Z4 x; Qtemplate <typename T>- C5 `; _( b; J; [+ h4 T. \" [. N: G5 y
class RunFunctionTask : public RunFunctionTaskBase<T>! j: k/ S% S) [% w: M
{5 o1 R; Z$ }& @# D+ b# j2 S( G. r
public:
# m3 o! i0 ~9 g/ a4 B void run()
5 D& O$ X6 L w2 Z- f" B( d3 n {
- k6 g7 @! O1 _1 r7 F# I5 Z0 P if (this->isCanceled()) {* [# V |/ \# L& _
this->reportFinished(); K2 T$ w" e/ O4 w
return;( U* A, o- m7 M k4 \
}6 I, c9 m. m; J5 X+ t
this->runFunctor();
8 z9 u- c+ v+ X+ V p8 @! y" F this->reportResult(result);/ ^! m* t6 X$ k# E; Y3 C
this->reportFinished();
1 f, J6 L% v4 q( t }
0 Z1 y, t3 N1 T, @+ O/ [+ b T result;
9 E9 o% _' b9 w' Q6 l1 x};: @5 M j: d( e! ~: o% x
. a1 B% z* D0 H% ttemplate <>
6 T! G: s# y% F/ Z0 x, a3 }class RunFunctionTask<void> : public RunFunctionTaskBase<void>
4 B0 a& n9 R0 H5 L, W0 |{" a4 y. Y- v$ b
public:
& b% z' p8 u$ ^+ x) m1 C, H void run()
1 ~/ M; D6 @* {' Y$ ^" ^+ m { D9 V; t1 u6 E# S8 F1 r& n
if (this->isCanceled()) {
7 Q) {6 k" q9 d# c. j this->reportFinished();
% i& l) V$ c5 ] return;! p* r0 n3 F9 x; H
} ?- o+ o8 Z% p' ^- D2 y$ B
this->runFunctor();
. [1 I4 r& ^ n! L6 v this->reportFinished();
# m7 P# Y! w6 K) M+ w( v' h, w, V }; p( t3 ]- [- K6 f6 _
};1 H5 z9 S2 V! X! q0 J
8 p" f1 A& U4 |' t: l+ l7 M
} //namespace QtConcurrent
8 Q& Z' P- _8 S2 b% `' I! G6 \$ k! o0 @. C2 P( i3 L
#endif //qdoc6 F% n( v% s( y) M1 I6 ?
) D7 A. q4 u' [$ o; s% x2 z8 cQT_END_NAMESPACE" W0 ~2 y7 G9 C% _
QT_END_HEADER; A# Z* T* z: B' t X: `" S
9 N6 }$ v/ q' q* ?( d2 V6 o#endif // QT_NO_CONCURRENT9 S B$ w0 Z# w% w
, w9 e d! l4 B( U, \
#endif1 P/ G2 b: N+ E) |& g
5 H9 ]% s# b) n, l' t
|
|