|
|
我对syslink进行交叉编译到arm,但是出现如下错误:9 O' \; `9 D" r. i1 E; P7 w
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
" v5 M1 c- \" p: V0 ?! B" j+ z# U* X4 c) n) {8 q) G
这个头文件内容如下:
4 j/ v/ n6 |- S4 o#ifndef QTCONCURRENT_RUNBASE_H
' O6 H6 L% B: ^6 _' v% n6 C#define QTCONCURRENT_RUNBASE_H/ ~2 ?+ e% k6 J4 l1 X6 ]( `
# X; j% y9 ]6 P: C8 j+ Z
#include <QtCore/qglobal.h>
' ?# G" ]# Z& [, v+ k3 M) m- W- f% H# ^) m. i
#ifndef QT_NO_CONCURRENT
; }0 f6 L' E& I9 V
4 ?2 h+ A" D) v3 F: A# L+ [#include <QtCore/qfuture.h>" t4 c0 J8 P* ~: |
#include <QtCore/qrunnable.h>! ^% u( R( ]( l' a8 u" B; v
#include <QtCore/qthreadpool.h>
/ M/ R! p! a" |8 u8 p- J8 {
. V5 d& X0 g1 c* k' ?- n1 JQT_BEGIN_HEADER
/ @% Y" x* m9 q" {; Y8 jQT_BEGIN_NAMESPACE
! Z1 \3 i# O2 u) B/ k
7 U0 \) s: L1 Q4 {( ?; Q0 X" Q- EQT_MODULE(Core)
1 R5 @& `. u- n! a a9 d5 @$ b: S v- _9 f# k
#ifndef qdoc+ t. t% m+ o J( G, b" j/ y
- K7 S8 k! P5 d4 n" V& E" I" t" ]
namespace QtConcurrent {. w* n( S) i: ^8 X1 x
' N3 V6 A4 L/ P P( O2 itemplate <typename T>% G" p: L0 k( T" E2 s& l" O
struct SelectSpecialization
! ?, O) K' C0 t{
, c9 V6 c) P& H3 g# M template <class Normal, class Void>- Y2 r- u6 W! k. c
struct Type { typedef Normal type; };
+ u. { e( D( F+ y- J3 m};1 @; n; a! I: U0 [3 |! X% D7 C
7 F6 [9 T4 ^" Btemplate <>
# `* A* a; [9 ]) o" k+ j4 Q! Lstruct SelectSpecialization<void>
e( d0 f: y" L4 W9 W{' N; u l: h2 b) a _# g
template <class Normal, class Void>
+ m A d6 X7 U8 B; r5 L% X struct Type { typedef Void type; };
) A# h1 K! C% m0 @2 W; p/ Y};
% {6 a0 w. e; \; h9 y3 L, x, H; B# |5 y$ [ }$ [. b
template <typename T>: W/ [8 M" @. u4 U1 t& a
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
- }8 e! D) k# H" Q. Y{1 }( S0 Y" E% n& p5 h4 W
public:( `* B" C* B6 T: Z! C
QFuture<T> start()$ R9 i; E4 i' |
{
9 e- ?% ?/ m2 N. |0 I1 f9 R this->setRunnable(this);
8 [- s u5 h& X) ` Q% R5 e this->reportStarted();$ e% | F$ t; U/ ^
QFuture<T> future = this->future();
5 I Y/ n1 c1 j0 L; J QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
$ f" ]+ G( \: w+ h, j8 f5 i return future;
2 ^ t1 b) c/ |4 r8 U+ g1 D/ A8 f2 z$ W }
: r: b$ u+ Q; A1 _0 c, K6 g: Q8 y) s& y/ L7 M8 a
void run() {}7 V: b8 ^3 X$ e8 _0 c s
virtual void runFunctor() = 0;3 t* d. O l: G
};, R; W4 _! h+ W7 O1 ]" v
' }& R. L6 u/ s G5 U" N
template <typename T>
4 }: z0 f- t9 B, g! o. ?1 a8 Mclass RunFunctionTask : public RunFunctionTaskBase<T>
1 a+ w: r( _% f5 V) g{: c: [9 N$ z4 `4 s; p7 B! j
public:
1 B* ~! s. `# n; R$ V void run()
6 ~0 o% G6 K \" @4 X2 _ {& o3 j$ `- `1 I: J( A
if (this->isCanceled()) {$ S7 f8 w2 W5 B4 k# @4 D2 o
this->reportFinished();" _: g/ e" y0 \) k* u- \
return;
% m& ~9 X8 f: N% l2 a2 U/ } } J6 j. H3 c$ y1 ^( X8 [" j- P
this->runFunctor();$ c$ g, p$ |* f0 I' x! g, ~
this->reportResult(result);1 z% B5 {- [. j9 K- Q6 z3 _
this->reportFinished();' q' a! T$ j2 ^9 ^8 U7 Q6 }
}/ K/ B" V4 g# D
T result;
" N/ _2 K" w/ ^) j0 ^};
. P2 \% `9 Q0 f' n( t
+ R( E% A/ H- H3 j1 \3 dtemplate <>8 u. j: D u X$ w9 D1 j5 h6 Z
class RunFunctionTask<void> : public RunFunctionTaskBase<void>
* o5 @7 N8 ^4 k8 t( c+ ?3 u{6 D( {: U! p1 T" |6 v+ u5 C4 Y
public:
1 U5 x* X1 o2 t; R4 ^) h void run()
/ _ i' e. o+ J {
: L, S- r' l8 T k if (this->isCanceled()) {& A5 Q* ?7 g5 \/ _: V# i2 A& z
this->reportFinished();6 W, }( s# n# D- }) }0 J: _3 T. B
return;
. N x6 B9 K+ D2 Z1 F7 A' I0 T' _ }4 m$ r/ y9 V! |
this->runFunctor();
5 h1 O1 [9 R4 m# a( G this->reportFinished();
' X/ s! ~+ k% ?% S; S- y) t }
6 \" L5 Q0 u$ ~8 e$ p! F};
2 }: d4 b' d0 l
- ]: F6 l0 n9 E* \( D- Z} //namespace QtConcurrent
% [7 a$ |- X/ H2 \' ~" g- B- o U: }) [3 a& z2 P8 j) A4 l e1 G
#endif //qdoc6 b9 F0 z9 w' }4 N$ i# G. t
. [' N( K7 G4 l$ O, l
QT_END_NAMESPACE
8 h" G" \: @7 G$ P) g: N, Z% Q) `2 @QT_END_HEADER/ `* y8 s' X( u) Q
$ j& x9 |" D+ ~, S; k q#endif // QT_NO_CONCURRENT
: J- @; p2 |' i: o) X8 C! y$ g
! ~. y( b1 Y- c3 e+ ` @#endif
2 V* }' T4 E; t% c- p1 {( l- O) `( Y" Y: h6 M+ F7 O
|
|