|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
4 f9 q) q" `0 {" I, U! o/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 D4 W/ ^; d7 y( m% I, M f
, L9 l2 f/ V$ Z; K. e' } A( w
这个头文件内容如下:% D8 o9 n6 u& E/ k, m
#ifndef QTCONCURRENT_RUNBASE_H
3 r) G. }- Q! D+ Z. U( S#define QTCONCURRENT_RUNBASE_H, U0 r0 c' B/ H2 {
0 Y- [" L/ ~3 Z1 S
#include <QtCore/qglobal.h>
2 A, X; a* x4 D
5 Y* b8 X5 J. v1 ?#ifndef QT_NO_CONCURRENT
+ k8 H, j- s7 x* G' K& w4 b. T2 b u; [. J
#include <QtCore/qfuture.h>
# p& t/ L) {/ R. L5 r#include <QtCore/qrunnable.h> Y5 K5 o2 G) \$ u7 r! l
#include <QtCore/qthreadpool.h>, J4 \" c* ?2 J& i3 M
. j. g9 u4 Q( ]# m! ?
QT_BEGIN_HEADER
y+ \4 j, E. [- e4 L r3 D8 pQT_BEGIN_NAMESPACE
' P5 G3 ], h& | E' r& ^2 v* G
4 r' `! _8 v1 S0 aQT_MODULE(Core)
" t5 e$ I6 D( P" p( X/ P" ^+ W) t+ f6 h- r; ~8 ?2 I: ^
#ifndef qdoc
6 U& c% F0 c" Y7 L2 _3 F3 b6 a: U9 `% Q
namespace QtConcurrent {
C" i- ^1 B4 L9 y& ?) N2 c1 Z! c# s
5 {5 d" l9 L$ A* E5 Q+ Qtemplate <typename T>, D9 V g. ?$ S* P8 h
struct SelectSpecialization3 Z* P- B4 q# i$ {/ e1 Y
{4 j" `+ q, W7 `2 C }. [; Q
template <class Normal, class Void>
* Y ]) c! y4 R' T3 o struct Type { typedef Normal type; };9 L0 c& V6 G% U$ C9 f
};- F7 [0 \" x3 d# i2 [* ]
5 J& F' s# q* J$ v; G
template <>8 n; z- M2 @' j- E4 q0 y$ ^
struct SelectSpecialization<void>
* I5 e' ]& Z* Y2 C% c& s: W{
- F! Q2 F2 g1 y( b+ R; X8 O/ l5 |; L template <class Normal, class Void># \9 U5 x; F* f9 s2 M9 v9 K
struct Type { typedef Void type; };
! U: [; ]: P6 R6 E. _6 K h9 b};
7 n/ w0 D1 q% c" z% z
) r/ s$ Y4 [ R. E6 O+ x7 C. Q3 {5 ?template <typename T>
) [5 s' b: k7 dclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
/ V: L7 x( G4 [7 \' c4 X{
! }5 H: V. B; h* W9 x; p f; [public:
8 v2 m0 D5 g. w) I/ w; C0 O QFuture<T> start()
d y) @) l2 X: {8 u {: G" m: i" U' O v, u
this->setRunnable(this);$ b) n E, E4 T) Q
this->reportStarted();
& i: h! s8 T J( a& |3 g QFuture<T> future = this->future();
, f% y% Y9 j1 U QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);# `) T% e& ~ z3 d8 x9 X( T
return future;- b" ~# O7 t) d& j
}" U. V9 E& h: e+ Q' b X( @
3 V$ m# ^% Z" z
void run() {}
! Q) A. W4 i# R, O( f2 \- e/ ~ virtual void runFunctor() = 0;0 H/ [2 d! Z( k
};
" a; [; x+ w6 i
, g; Q. k3 k' R2 `- {0 ?, P% q/ q. Btemplate <typename T>
& c7 a9 _+ L9 I9 tclass RunFunctionTask : public RunFunctionTaskBase<T> M; [( n' n6 V! e5 n, T
{
3 \- e D& f( z' z! l( R' ppublic:
% h8 H. {4 K6 r8 B0 T void run()
& |0 B; M$ D; I5 {1 M0 r& Y {" E# b$ z7 c1 r# x& L: }4 R7 ?% `1 m, i
if (this->isCanceled()) {0 J! o7 B) r j7 }
this->reportFinished();' Z/ z- a1 ]0 |0 w* M' r8 d
return;
+ x3 A% k$ w5 Y$ ? }6 Y& a) c5 C/ }/ n+ ~" j1 `
this->runFunctor();$ x* c( i. T+ v X9 B! [
this->reportResult(result);- @3 G& u; Q- I r+ F7 Z
this->reportFinished();* j3 H& T4 p4 R+ B/ N2 K1 u+ h
}
5 Q# |% d" k/ l: }8 w9 z T result;# S. y9 l5 ], K! [
};
2 ]$ m8 a$ _5 I/ \! f6 R; a& y, ?1 y2 P
template <>! v$ o2 ~4 I% ?5 |- B8 V( C
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
4 ?2 _4 b3 v5 p{" R' N' r+ R/ b
public:$ ?6 e* S8 [+ h7 A7 Q) K: R/ y
void run()& a6 N) p z: J
{* y8 m5 |; R/ c
if (this->isCanceled()) {
1 b5 p0 T5 I8 b4 z9 [ this->reportFinished();* f! b! \! @) W
return;
" H7 ?! Q0 h# M; o }# y$ @* V. c' T$ F' }% M7 }6 A
this->runFunctor(); r6 n" { _) c- O/ @
this->reportFinished();
# Z" n1 j' a- F }
4 n* @. a0 w# L8 h4 w};
, R/ H2 Z# S7 S" {* `2 N! `/ |! `- O K8 z% _0 ?
} //namespace QtConcurrent
2 q6 d/ g- k8 i) ^$ W+ a+ } `
! d F4 p% u# W( E#endif //qdoc/ e( C7 R, R3 x3 U. ~
5 Q2 |( o. Z& ], V
QT_END_NAMESPACE" \; f2 E8 g. Y, n2 {1 r" h; b( c
QT_END_HEADER
: A* B5 ^/ W$ D1 E8 ^ G
# X; y0 \ A2 q2 A+ x8 e#endif // QT_NO_CONCURRENT- v; P! [0 _3 ^( J/ z9 t ]
* F9 V3 n$ b1 ~, y! l
#endif! F$ I! w! g" e# I& T1 x
6 _! f) x! O) w1 y; v3 |
|
|