|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
6 |. a, x8 R, t' p! u/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'
- H1 c- M( e* Z) i. m1 A+ p
* q! U) t% s3 k/ ~' n7 P( n这个头文件内容如下:) x4 l* E1 k$ G" V
#ifndef QTCONCURRENT_RUNBASE_H& @4 f; b! b) t( M
#define QTCONCURRENT_RUNBASE_H: v9 Z( Q& w' f: U3 Q! [ r* v
) d) \$ ~& o; z5 v! Y#include <QtCore/qglobal.h>
: B" d$ x! G# U' S: i
% t2 ]* c$ U A$ M# W% u#ifndef QT_NO_CONCURRENT
8 z& {# S3 l R
1 U: U2 N' J# h; e/ I#include <QtCore/qfuture.h># W+ B+ U& A Y5 t' l* B4 ~
#include <QtCore/qrunnable.h>0 E7 N7 p, w6 Z7 f& ^& \1 _1 w
#include <QtCore/qthreadpool.h>+ ~6 n4 q6 m* h z# \0 x5 m6 U1 y
4 I* Z$ k& m9 T! t+ U5 dQT_BEGIN_HEADER3 k, y" \- T, v( z3 Q# `3 j- p C5 a
QT_BEGIN_NAMESPACE
! z& H+ P1 f y. v! N% G
# f, ^" r9 e+ C- p/ ^. fQT_MODULE(Core)
2 S, C, y% [ E z, L
: q, Z' v) q- b0 \9 P/ x#ifndef qdoc
3 L3 H C3 o( X2 p; W+ X, s" E0 h
% l8 \/ [! u6 ?! j- Xnamespace QtConcurrent {
! x0 f2 R- |) P3 w/ s5 q: Z6 S0 a4 ?. t2 [! Y
template <typename T>6 J- S5 ?# ^5 ]# V, o& z1 r, @1 G* o
struct SelectSpecialization; H |5 t/ _; R" t+ {
{
; c/ o# a9 Q. a. c7 E template <class Normal, class Void>3 M c) @0 Z/ ? x) S2 x. R! r
struct Type { typedef Normal type; };. k! A, }. U( v
};8 a Z7 B* ]6 N2 x& `+ k# F3 M2 T
9 ^, A; ?5 k# k- W, F3 @6 l
template <>1 X+ s- `. _: w; v/ w N# ^' p
struct SelectSpecialization<void>
4 C; y+ ]2 l' x! ~{6 M! L1 ^/ ^& ]0 w4 H
template <class Normal, class Void>% d0 Z8 N9 v5 O# R2 f" ?, Q
struct Type { typedef Void type; };
1 S: J" U! G: |' b% `}; l% O$ z% y) y0 _- V1 n {0 S9 m
. M5 f3 U" d5 O
template <typename T>
5 c- J+ |! C# d Fclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable( b; R( p- a: x- \% w3 O5 I# T5 c$ n
{, T, s4 o1 v0 w6 r5 J% X8 c
public:! `. ?/ ?' O9 J' U n
QFuture<T> start()% K5 n! _3 @) g- y) X# \
{
2 O' m; B# S, c& c this->setRunnable(this);( z: q& E% B* z6 y# T8 @- z" k" J
this->reportStarted();. y! A6 m" ?- z$ ~/ S
QFuture<T> future = this->future();6 Z- s$ w/ f% h. f
QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);
9 Q; m, ~ d( @' K return future;3 @4 q. q1 `. w# d& y
}8 ^8 p4 H' y8 F0 u, I) J
; U# M0 s! F# X. E) D) `) q
void run() {}
4 c5 w& F% u! p: x8 y9 `1 N: K virtual void runFunctor() = 0;
' k) p: o4 t- h1 ~6 d};- {' F" P) W8 `! s( g& z: {) o
; ]$ s$ @7 m) E
template <typename T>) r) t2 |3 B# x: s6 j f" ]
class RunFunctionTask : public RunFunctionTaskBase<T>
$ r1 g8 V. j( f# Q7 a# n0 Y* P+ H2 [# D{" p$ W% S1 H! Z
public:
7 j5 d7 E+ n+ c$ i+ Q void run()! h! `1 A- z R# l! g& e* j
{1 C5 ]2 P+ A+ J2 ?+ g
if (this->isCanceled()) {) |' j# v( Y7 J. n
this->reportFinished();
3 h2 w3 x# T$ F9 J- \9 i% L return;
# k9 O$ X1 {0 ~' D }5 w3 @. b0 z% }
this->runFunctor();
7 u* g }% @+ ] this->reportResult(result);4 d d/ f1 j( B; l# X( ?
this->reportFinished();
' _2 `; j' b6 C }
8 W, s3 M4 n# s, G T result;/ V, q7 K2 ~! |. y W2 J4 V9 N
};
# a" E% c- ?# [( \
# d3 ^8 H3 I% T5 i! s6 S( r2 `9 Qtemplate <>3 }3 f' s3 o+ P0 t6 \ N) ] V
class RunFunctionTask<void> : public RunFunctionTaskBase<void> z* ?' c. N8 Q1 W3 Z8 m# U& u8 `! j
{
" e2 W2 H# U* I# r4 G; F. f# Spublic:, ^! r5 P' U9 u/ y p' G( d
void run()! }, z9 L8 N' T9 f$ G/ F
{& U% P8 g% S; q
if (this->isCanceled()) {$ u- T5 r% F( L, z0 J
this->reportFinished();( d$ e2 l T; Y5 z
return;
/ p! _2 C+ a6 G" I }6 G, r$ c/ g0 F1 X" {
this->runFunctor();
% C" U6 M0 y! ]! }1 E9 o+ z8 H" q this->reportFinished();" @1 [* j" B# k( G0 j# \
}
8 c- \: X# f& f! q; u};9 N; U# b# G/ k- N
6 M. d6 _5 J6 L+ q3 X$ B) {/ s} //namespace QtConcurrent1 r: @. x/ h- D& C
/ X. W) X N. H$ n#endif //qdoc( `5 J, p/ D/ ^% o
- N& L0 r: `# n+ ZQT_END_NAMESPACE) ~) j- D+ c; c, d6 A
QT_END_HEADER
5 [8 r4 b; [) f# v3 W+ s8 R
( y0 p% u6 ^$ b% i. C* ^#endif // QT_NO_CONCURRENT: d3 d1 ]. T! z$ \, y# P5 T
7 J* \7 f: U% D' h#endif9 |3 ~# @8 Q2 a3 E, C
$ L% s$ w( o) d
|
|