|
我对syslink进行交叉编译到arm,但是出现如下错误:) L6 Y5 g2 s' q# i3 v# E% T4 E
/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'3 I5 k3 u: v9 ?( T
! Y6 L. p4 j3 k) [
这个头文件内容如下: ^3 Z- n4 ]1 |* s
#ifndef QTCONCURRENT_RUNBASE_H
3 n7 A W# L' D _+ ` R, r/ @#define QTCONCURRENT_RUNBASE_H
, `8 F6 ~" @' N* z& l) m
0 n& B% E9 Z5 ~. B3 _#include <QtCore/qglobal.h>
; w9 M. @4 \6 l1 F
- Z& W" c& z" a R' I#ifndef QT_NO_CONCURRENT
2 d5 q- w; o- M: e0 I
7 H E- L/ f2 ^& T' s9 H#include <QtCore/qfuture.h>1 J2 p1 f. ]. p, Q. T
#include <QtCore/qrunnable.h>! T$ j6 f. q9 b. X) l: f& x
#include <QtCore/qthreadpool.h>$ d( }: q7 T: E- Q3 N0 j
% r' g# j& S/ C4 U2 b9 A
QT_BEGIN_HEADER
& K8 a7 ]* s' F0 A1 C( EQT_BEGIN_NAMESPACE
. L0 e: m: F1 g
) w- a. X/ O, z. o7 M( C- RQT_MODULE(Core)
2 m: j, I% Y0 t1 k* {6 d: S3 s9 G# G E0 V6 O( p
#ifndef qdoc
% R2 x ^; v! X+ e7 R
0 T3 z; X6 \3 r7 Y+ c8 R% {/ ?namespace QtConcurrent {
+ g0 L. s8 {! _$ b v0 L4 P6 F( s( O! F5 K. W
template <typename T>
+ V ]2 ?' k1 [4 r2 y0 R- Tstruct SelectSpecialization
& | u1 B% _$ A{
) ~; F& Z% j# Q- _" V0 r template <class Normal, class Void>9 u2 g- W' P& N$ \9 O
struct Type { typedef Normal type; };7 _( Q4 `7 y) Z' q( ]6 G7 P$ G0 v
};
- q8 R( _! @+ |. s# R
4 ?) N* j$ D4 j3 N# ?0 l4 [template <>6 T# v7 ^% N1 \: b) u! l) T* E
struct SelectSpecialization<void>
9 i7 j& Y* D' u/ }{6 h$ i" t, p2 r1 }. J( C) M: f
template <class Normal, class Void>7 n# h: Y/ o1 [" _3 l* w
struct Type { typedef Void type; };
e0 _. E4 s! t3 x- a};/ @& R7 b, B/ D! q& F% h3 f& h+ X
B! A y$ d- F" q! xtemplate <typename T>
1 y2 I5 L) W9 E* ]class RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable
& d0 w5 M' ^5 b! D- o- ^5 X+ i0 p{
' _) Y) H* n3 Z! Q8 Cpublic:
6 F2 j6 E4 p) [ QFuture<T> start()$ t0 a4 o$ i" F4 n( E2 H4 f
{
! b' e1 P# g, B6 E( w1 G r this->setRunnable(this);! `$ p/ n% b! X: a+ d4 B* s
this->reportStarted();
/ Q. F5 a7 T9 N8 y1 D3 Q QFuture<T> future = this->future();% N' s# h2 }# d0 a0 j, ^
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);$ } r$ A K* X
return future;
$ P2 [# s$ g5 c/ g }
7 H* M4 H @2 K h/ m3 n1 A* E0 {. D8 ]. p$ x3 z
void run() {}
. \+ l% Z0 o$ ?$ ?3 `6 J: A! c virtual void runFunctor() = 0;/ V0 l, V# S/ H7 v+ j
};# f# X2 [) j6 Q4 |' u% B4 H# ]
n" _/ W: u! S, d6 J3 }
template <typename T>
+ @8 w4 o; @, s- d) f1 gclass RunFunctionTask : public RunFunctionTaskBase<T>/ R# A* L" A @) e A' U# P
{ `& h' n- B3 E# v& [8 F# C
public:# i, s# o5 L- L L( H2 K5 k/ d
void run()2 o, H; d2 F6 r- ^+ I( @
{+ D( j/ \4 A( L0 r7 R% |$ j8 \
if (this->isCanceled()) {7 ?* a t- J7 c/ g& r
this->reportFinished();
; }7 d2 o9 D7 S9 E7 L return; }3 w' `. \# }/ |
}2 ]. g5 g* A4 I$ b
this->runFunctor();
% i6 ~! O: Y) D. t- C" X$ A& m this->reportResult(result);
+ v0 a* N' k: X, e3 M8 ` this->reportFinished();
1 u% K- n6 N1 k z7 K/ N }* H8 a+ ~7 h& R* A
T result;! k! d) J$ T$ c' B6 f
};3 L4 Q& d% d" W' N4 H2 b7 ~7 |* z
6 f' J y) G6 X6 E; I4 v
template <>
/ r, L% c) N9 n- {. ]: m- Bclass RunFunctionTask<void> : public RunFunctionTaskBase<void>; N/ a' f0 u# M7 B) {
{
6 f2 ?' @* }" l: n! s( m2 ?, opublic:/ D ~+ H3 C. F5 v s+ g/ W
void run()) l( t' D: R3 _2 `4 q0 d
{
: {8 y& U( Z, E& f+ ?5 k3 p( B if (this->isCanceled()) {
; i* `/ \1 ~6 H" l this->reportFinished();: ]* X6 z* f- C3 |) B/ d( T
return;6 V; ^1 u2 E, j1 w6 @! E+ H4 J
}. c) l1 e$ w7 U* }& ~+ I
this->runFunctor();6 L7 p( ^9 K- G9 @! f* j
this->reportFinished();! n: O) r% w- ]0 l! h
}
0 t0 j% K& s! D8 K; p) X4 D) X: X0 x};4 ^ h; [) K- c
* w" d: R" z& u2 p6 w
} //namespace QtConcurrent
( y* | {( n6 m* B4 }4 ^: ~+ z$ n% j: B2 M6 U# p8 d* [, v ^
#endif //qdoc! |6 B) O" J3 P" d. i
3 t8 R+ J- F" V; z3 [+ cQT_END_NAMESPACE
" X4 G6 [' Q; |QT_END_HEADER
, `: {1 c8 l9 l: S1 p
6 i8 ^% [' b# D8 J' O6 `: }#endif // QT_NO_CONCURRENT
/ \, y# m( `1 t+ T0 Y+ j( t! Q. d- r, S! Q* W
#endif6 ?6 z: X' h# m, Z
) J% e7 Y4 U' @. K- [9 ]
|
|