|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
; u6 D. \. v/ K8 r2 h" R6 M/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter': O0 A/ R& v* d6 A0 |
% h6 c1 f& L4 v& K% L/ K, q3 W这个头文件内容如下:/ t* Y3 V/ q6 W5 U
#ifndef QTCONCURRENT_RUNBASE_H
l( t; i% z D5 E5 t#define QTCONCURRENT_RUNBASE_H
/ `0 z/ [; A& Z& q) j ]6 Y( x
0 W$ `8 n% l3 K2 x#include <QtCore/qglobal.h>
) m# h" X9 ?& U$ k) R
, p. y& J4 g0 H& r#ifndef QT_NO_CONCURRENT2 d% q$ y* Z0 P) V; A& G- K: p
) i( J) t# N9 f% i% z+ U
#include <QtCore/qfuture.h>% b N6 B7 f% j: E
#include <QtCore/qrunnable.h>( Q3 C% i- V7 B
#include <QtCore/qthreadpool.h>* B; l" k6 i' y& T+ ?, {
9 S4 P( S/ H0 `; a, aQT_BEGIN_HEADER/ P" F0 C' n' j
QT_BEGIN_NAMESPACE( v1 y. d$ Q7 G3 e& L" d
5 Q) Q" M! l! IQT_MODULE(Core)# y& x0 L, Y* _! ^1 Z7 {
& }9 h" k2 O" S7 p
#ifndef qdoc
- n' X# ^0 i& {' g$ M0 O
9 g N# R! q! Z$ o5 k" i: @4 rnamespace QtConcurrent {
2 p# e+ H0 U) r) Q# L# v* G. N7 m. ]& @
template <typename T>8 m( ^( d; B2 i) [& [+ X
struct SelectSpecialization3 c* T! z# s, C
{. |9 j; N2 \& o
template <class Normal, class Void>1 C7 f$ ]3 s" {8 H& V
struct Type { typedef Normal type; };* @' K' U! C* r1 `
};
3 [. k2 o' m; R, s! F# A$ _' G. ?' e6 t$ s# @
template <>
y4 t* d9 d$ C/ k4 Jstruct SelectSpecialization<void>* m& H4 ^3 H* _5 z1 a5 B' f( Q) _
{
8 `- D5 a8 a6 E, ^, \8 T; r& s% R- | template <class Normal, class Void>
! o$ m$ U% U# }0 w2 t: l struct Type { typedef Void type; };
7 Z# ]; D2 @: ^; P};* k5 p; V. E; r1 D$ P
& T% m5 `0 l1 {/ A
template <typename T>6 F9 C1 G( u! F, Z
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
( I2 c. v; _1 w" k6 d$ F- U8 y{
0 ?9 i$ G6 E9 U$ f+ {public:
" z, o% Q5 e0 G QFuture<T> start()& [# }) Y0 Z* N4 W
{ Z9 y4 {! |9 f0 Y$ F
this->setRunnable(this);
4 x* z' o$ r& V- n' m* z7 z# i this->reportStarted();
1 U! B- T" d: n QFuture<T> future = this->future();
$ r6 ?5 C: T/ h5 D5 a+ a/ } QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);8 w0 P( \# P) D+ k0 N- K
return future;9 S8 u# V, \0 ^7 [5 u
}& _$ R$ y" v- C. n
$ V/ j5 ]' T0 V
void run() {}# \. V. k- t9 m# b" ?
virtual void runFunctor() = 0;
7 p8 r1 K; {+ O; {};
5 f, v& d2 T, D9 V, A; W( m, ], |. e$ t7 H) m6 y* ^: a% D
template <typename T>
4 a1 R" p6 T6 |1 ~8 U" xclass RunFunctionTask : public RunFunctionTaskBase<T>7 F0 C9 c5 v& b% K8 ]; G
{
8 P5 o; T8 s3 L+ } s7 Wpublic:# l4 S7 x: R# @9 ]/ S/ L6 m
void run()* \2 u" X. j* w' `& m# n
{
# A2 i8 C, |6 H- u& d if (this->isCanceled()) {* B9 T: E d! w. ~; z; ?+ E6 U# i
this->reportFinished();
7 }2 L: ]+ p" V+ B R: G& A3 [ return;7 Z8 V- {# \' Y: M
} Z& w0 v3 R! m9 y
this->runFunctor();
% Z$ e( F+ D: D6 ` this->reportResult(result);% G: G) f$ {' G, n' f
this->reportFinished();
6 G5 X# B/ \3 K! ]! p, g3 N }1 U0 z5 Z# p+ S( h) K2 c3 g& g2 s, [
T result;' y! M" k$ B1 H, F
};
& |: N6 I6 f6 E2 [
" ^) I4 n# m1 S7 m G+ qtemplate <>
+ E) u, N+ t8 J+ q* w) Y( u, ^7 ~4 rclass RunFunctionTask<void> : public RunFunctionTaskBase<void>8 `% J: o9 [, _6 Y' [! Y
{
7 A5 L; b+ Z7 \3 _5 opublic:( \1 j! a9 w6 X* [# K
void run()$ f7 z3 l6 f5 a( f" W. h! E
{( x9 q X g6 h* T
if (this->isCanceled()) {
$ @ [% {$ ~ Z9 V# E; M this->reportFinished();
) b" t- [/ W$ y7 \3 T return;
7 a" T- ~- S1 W! ^# w/ f. i8 Q }. {6 p( P; r9 k) q% o7 X. v! g
this->runFunctor();
" H @6 v# O* W& t5 w- m& I) D this->reportFinished();, Q6 B8 [) J8 m% w5 R
}
8 g6 {6 |# T. Y0 I- B- J};0 A9 B! u+ w7 e0 c6 `. J
- W7 _' w+ O; L7 J! M0 g
} //namespace QtConcurrent5 j/ @% n& l- {+ j t/ u
0 f M& \. T( e2 l, E#endif //qdoc) d: Q3 ]) e- Z5 C' S3 l; X7 B& u
: G! t8 N8 W! ^; tQT_END_NAMESPACE# Z2 r& V) j* U: ^; w. l5 O) n Y5 H
QT_END_HEADER' M8 I3 B, d7 x0 U: ~0 X \7 A
1 N" t, q, X4 @$ s. j' c
#endif // QT_NO_CONCURRENT
3 Z. ^" m! N+ w- M8 Y' i2 d6 }* K) u5 D4 Z' B+ |9 E, v
#endif8 Y) k$ u8 y: I$ [
6 ?* R" X" X# E. `: l
|
|