|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
3 l! q4 C. B% N+ Z5 E( p/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
, z9 p6 G( n3 ]# d E. w3 ?# t9 @% H# ?. D
这个头文件内容如下:
; _5 G8 n- O: |- F! Q) a8 r2 i#ifndef QTCONCURRENT_RUNBASE_H
! H6 Z6 [, z3 D( n3 a" x4 E#define QTCONCURRENT_RUNBASE_H
" r; @8 S4 [ F3 H9 K& t2 D( L, a$ S
#include <QtCore/qglobal.h>$ ?3 P' F4 f" {. ?& l4 T
! F" c* K3 E; N k" t#ifndef QT_NO_CONCURRENT
" W3 o, x9 T& g* H
5 W# u: r: a# h5 y+ S#include <QtCore/qfuture.h>
% L, x+ K/ ^5 ~& |+ e% e: {! a#include <QtCore/qrunnable.h>
9 y. V% R6 y$ V2 ~' @9 q#include <QtCore/qthreadpool.h>6 l( j: p E' \7 h
0 [3 O% N$ w/ v& k! }- h3 @QT_BEGIN_HEADER
$ h/ z2 u4 q$ i- T+ M6 n* g' LQT_BEGIN_NAMESPACE' l, d! x7 E* ^' O( i7 |" M8 c
; {+ z6 s9 h* ~
QT_MODULE(Core)8 ~0 n2 ~& v( p' [5 D6 n
- p* M6 o, n; w7 |+ A- n
#ifndef qdoc
9 x/ n+ t6 Y4 ?- Q9 a% j! L- x: w
namespace QtConcurrent {: a- R6 I) S4 x; y5 N9 a. a
% M! d% j% L7 f/ W S: N
template <typename T>2 x t: ]% q9 J. |; w+ f: C
struct SelectSpecialization, M8 z6 c0 l# `. Q4 ?
{
3 b! J: B& _/ \ template <class Normal, class Void>( z) {" F2 B! v
struct Type { typedef Normal type; };
, y) M1 W. w, o% i4 c};
+ `; m5 x$ @) E" W3 s4 f J+ R' k) X, P" d) q
template <>9 c+ b y% W' X% F& ]7 h1 O6 A
struct SelectSpecialization<void>
$ \* O2 l5 B" V# y; l9 B{3 L% \5 G9 a! o5 @% W. \0 P
template <class Normal, class Void>
, E/ S) w6 r0 c' a struct Type { typedef Void type; };; j1 L9 S k+ v
};6 i7 T7 V& G2 A9 p
* X3 G G; X' _& I jtemplate <typename T>
' r& s5 y4 g5 f) tclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable3 O" b7 @# F4 e
{% Q! b5 }+ U$ Q
public:
8 _- M+ L) m! K QFuture<T> start()$ | Y. P* W' j' K" j
{
# A3 C: C& U2 \& w this->setRunnable(this); a: [7 L J3 r6 ]+ @
this->reportStarted();6 X: L6 ?6 C4 [9 @ w' S% W
QFuture<T> future = this->future();
7 F* p( `- M: U7 A4 L. x% `; G* I QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);# l* r6 ]# O( t
return future;
' T+ K. ^: x& [7 R }/ \" s! q- t$ w5 I; ]
) N1 a8 M) h$ v' b. i3 w! h4 F/ ^ void run() {}
8 m" e* C- F5 w7 N6 o( C9 F4 k virtual void runFunctor() = 0;
2 w8 j' B# S- j& _ a; U+ b, |};
" H' D6 d O7 m- D1 A4 T4 A
; U+ l* B9 b3 _" K. {* @template <typename T>
. X( Q: n! T; B: m+ Yclass RunFunctionTask : public RunFunctionTaskBase<T>
) L6 J V! |/ |5 U% i5 s{
- S* v+ x+ R* ?5 s! B6 I" N* q$ gpublic:
. m4 s" B: D# ] void run()' v9 F9 q, d+ I# q' M. v2 V( N
{
- o, Z9 r* k# C( M/ M4 V6 e if (this->isCanceled()) {2 |1 [" f5 V' Z- K& d) A
this->reportFinished();
3 p8 h2 g8 a6 r { return;: L! Z" r9 s3 S% I8 V, ]( ]
}
2 b9 `2 b1 S3 x5 a. M+ y this->runFunctor();
/ Z" }6 s+ H/ ]& P9 ^ this->reportResult(result);2 h8 g9 |' N/ T, A% X+ |
this->reportFinished();
2 u: V$ [4 B8 o( H4 t8 C$ U7 I }
3 V+ K, A+ @; D6 ]0 @( O% M T result;3 \" t/ N& @4 _; q' @
};! _6 ]" g3 r3 T2 J$ z2 Y5 r
/ t+ S! v# |+ b- a1 j! P; ~template <>
8 `% {+ B) w( r( D+ xclass RunFunctionTask<void> : public RunFunctionTaskBase<void>& S# u6 k$ }8 p4 W
{
7 f8 ]7 \: d5 Jpublic:
( _; @( o' |# T void run()
; J- T, u4 ~, K8 Q# D" a& j {
1 V) s# C1 Z# W* H: A5 s/ Q9 y1 _; l/ l if (this->isCanceled()) {
8 z- d2 \7 N* G3 {/ N! b this->reportFinished();
) k% s; t( N d* Z" M+ ]3 ? return;
8 F" y. j$ f0 v, J }
, u7 d$ c! w" f! I- a% l this->runFunctor();( a8 H/ V3 M8 u0 S( |2 H
this->reportFinished();1 }8 R! C) k% Y y" d
}
0 c. e9 X P! E. J7 l- S' z4 e};
- m) @2 ?* `$ d0 p
/ w' i& ^5 y8 q) N5 L$ P; ^} //namespace QtConcurrent5 _% @* T1 N9 t( O5 c
1 I. ~2 a! C) G; T#endif //qdoc
/ A4 r0 }/ z! B5 l5 C. ~: N
; K& g2 l+ u) t; |2 RQT_END_NAMESPACE( }$ \' t/ s; ?+ o
QT_END_HEADER
- W1 i) Q4 S2 Q! @, {/ y2 N
3 \2 c5 y/ ~; p0 n9 \( S' t#endif // QT_NO_CONCURRENT
* ^; P Z8 c2 ]* y( o* b# V/ A8 ]6 j# p( o* p3 p5 ^
#endif
: B5 m4 l; o" C. e; A7 C2 l6 e# Y. o6 l- @! X
|
|