|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
/ j! R( `8 T- o3 U4 A' l) x) z" H/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
: H- H2 F4 E- a4 W% S* v0 D; y; m$ V4 V, u4 O
这个头文件内容如下:
5 d/ x8 M- P9 I8 j#ifndef QTCONCURRENT_RUNBASE_H* y0 B3 {% @+ ~9 w: J8 u S) Q
#define QTCONCURRENT_RUNBASE_H$ g0 G1 D5 H0 |) f" R9 D* L
" Q+ t8 l" y2 n5 K2 ?% i
#include <QtCore/qglobal.h>. A3 A! P! i6 i/ z1 }( n' q3 I
; o9 N0 T y, K1 D- Y- O
#ifndef QT_NO_CONCURRENT8 n9 x2 Y. }* Q0 e. d
/ n! W2 Y$ f! U7 y; o2 W#include <QtCore/qfuture.h>- w5 D( z( O ?* \: T
#include <QtCore/qrunnable.h>
3 N5 l5 L y% ^#include <QtCore/qthreadpool.h>
* s$ L0 H, T- s# P5 t) ?" D1 p1 b' [( R' n1 m: S4 T4 i+ P, r" `5 x
QT_BEGIN_HEADER' F. l/ w2 X* G! Q& S4 Y, h" W
QT_BEGIN_NAMESPACE
H) [8 X x5 X+ V: c
& \1 j/ |: s t7 K$ }: l# EQT_MODULE(Core)4 f9 H. G& ^: e5 Q0 e
) h8 W* q) A, x0 z4 \7 b- N
#ifndef qdoc1 ~% v7 Q0 g9 p3 C- j8 J! ^9 X
; [# X" {; [" \$ K
namespace QtConcurrent {% g$ b) w9 q3 s& V
5 |* f! O* H; V- ^: |9 z/ i/ Rtemplate <typename T>
h3 G# M& X8 Y) |" k- o; Q+ i: j) Gstruct SelectSpecialization* I$ z1 W/ B5 W5 x% d D4 N4 E
{* c( g1 c! Y: _- Q* Q
template <class Normal, class Void>( \3 a: O- a2 f% ^
struct Type { typedef Normal type; };
5 k& L7 t) J' Y1 O, ]$ ?% A; o1 j};* N/ K, s E# _) F0 a
, |; O) B, s$ Utemplate <>
& B" {% k) Y9 }3 D; F8 O9 g. ]struct SelectSpecialization<void>
2 ^+ y% Y: k4 ]: K0 p{2 y, W9 c; h* p. m' ?5 x7 P- i
template <class Normal, class Void>7 ~ [. [% d8 A2 G
struct Type { typedef Void type; };
; U6 ]( k/ p! h& u5 o, Q! W};1 o6 @4 j M7 ?2 @) U% I
* S, _5 _- m: d) ztemplate <typename T>) P: w5 I6 U) d
class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable; G9 C& ^. y. |# }8 b4 J
{2 W! i& {" e9 A% ~: [4 }
public:. D% a7 @& G, j6 S4 q4 \
QFuture<T> start()7 u0 o4 @9 |. ^% Z' U1 d
{6 |& K* n! n* N& M- j# {
this->setRunnable(this);
7 X8 D; B, i" D4 @ this->reportStarted(); b- ^' ^' M3 s2 u# ^0 v" e
QFuture<T> future = this->future();% J9 q' c8 y/ ?# T& `$ _
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);4 Y+ ?- F# g" L$ W2 z
return future;
# D6 ~) H+ Z6 I/ A8 A }1 N% t. n# g* c$ |
0 L6 @% z3 v3 Y/ \0 A
void run() {}: U. `6 `( t1 X" e1 f, S
virtual void runFunctor() = 0;
8 c% w) ?2 B. ], H, b5 i# t+ M};/ Q* |: \, I. [ w9 ~
3 Q9 L! s9 o1 E$ C: itemplate <typename T>
5 X) G5 [; p; J1 ]. a3 T1 Cclass RunFunctionTask : public RunFunctionTaskBase<T>0 {# c% [5 F8 X# g/ @
{
1 \* |! ?' C9 M7 m4 tpublic:
- b& `" H, J& d+ Z- N7 ] void run()7 ^$ E& h. Z' F, Q1 M3 \* k1 v
{
5 X' X- X2 h' g1 V; D if (this->isCanceled()) {
. J) R( i0 a/ V4 s this->reportFinished();
5 B' e1 Q# l2 \: A# h) N$ ? return;
' F( S* a- i1 m$ p }
- E* ?5 X, ~' U7 @( g8 q this->runFunctor();; R1 i( Y {6 X, d6 q
this->reportResult(result);
R9 i d z0 L' }0 g& ` this->reportFinished();7 Y4 ?9 f: t+ s; F- [0 s
}
2 {0 b: T% L. q8 I& s T result;& N& k! x+ x- g
};
6 m. I# E" L6 T+ X- ^6 M* D5 O3 |9 N9 p
% g1 p* {% H1 l% q1 Ktemplate <>
6 Z2 I; |8 Q# A5 I! Z9 Nclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
( g1 [) f) B9 U{
. d3 I% {* @/ ?. }9 ]# @- epublic:
9 P5 r5 C, h; k, S: i% l void run()- q8 F) |1 v! Y: R$ W
{
6 l8 h, M) W/ b5 z if (this->isCanceled()) {
: E" p! c% j' q7 m9 [* L# H this->reportFinished();
3 c# g9 W2 ]1 q' ^ return;
3 P3 @' ^& n! c4 h& L }3 l( I2 F/ v8 a. n
this->runFunctor();6 Y( \' p, S7 R j
this->reportFinished();
9 m9 p: ^+ z$ R% L3 K( L5 q }
$ Q6 v9 c- l* {, \$ n4 V6 m9 Q};6 C8 D2 h# j9 [; o) u
% Q0 ]) m1 r/ V X9 _ K} //namespace QtConcurrent
7 F; z! Q, u }) o# F5 \ \( c+ j+ h2 w+ R
#endif //qdoc" H, Y( [2 x1 D7 `
" H& {0 `0 P$ ?! G8 T
QT_END_NAMESPACE
9 U, C; L- i- S3 I# ?/ g5 p j( j6 }QT_END_HEADER4 H! V/ u) V4 B; N5 g) M; h1 F2 J8 \
: Y8 L* p, Z9 N* I# [8 j
#endif // QT_NO_CONCURRENT1 ~& D* s! ?8 f! `/ t
; r' [, `0 O' Y6 F+ r4 x
#endif
5 d }" }: g& S8 Q$ j, U- T9 x, u5 q& g2 {9 F
|
|