|
|
我对syslink进行交叉编译到arm,但是出现如下错误:
3 A: e- G2 B4 n/home/tl/Projects/Xdl-build-arm/../../qt/Qt4.7/include/QtCore/qtconcurrentrunbase.h:65: error: two or more data types in declaration of 'parameter'; }7 N2 E4 m/ W( R0 n
% Z! G+ T. Z: w8 n/ j3 i
这个头文件内容如下:8 w( v! O2 z% X, a1 U) A. y
#ifndef QTCONCURRENT_RUNBASE_H
$ d6 ?, _! X$ G: S3 I) \#define QTCONCURRENT_RUNBASE_H
+ i( |, K4 v1 Q: u8 m) K9 z- m; e% Z# m# e
#include <QtCore/qglobal.h>/ O" e: x3 t4 l. I) K. k
" U' Z* k1 e1 R( N7 N* I
#ifndef QT_NO_CONCURRENT# S7 b& `' |5 |! ]) S
% k4 U; Q3 N+ \
#include <QtCore/qfuture.h>
* e$ j1 n4 a6 ?9 u8 R: F#include <QtCore/qrunnable.h>! x6 a1 |4 }/ U, h9 K
#include <QtCore/qthreadpool.h>4 P) v* b* }# j% g* D2 ~# n
7 _$ a+ L& \' \! S% F
QT_BEGIN_HEADER% _: G/ R' V+ ^1 R& X. J3 v
QT_BEGIN_NAMESPACE
6 z# U7 R2 |5 ^& m2 [5 ^5 O
1 c" m& L( O0 v1 u9 B8 AQT_MODULE(Core)
5 q1 ~1 X, Z. ~* V& B1 ~, W: C! L& T( B+ l4 H2 l0 G
#ifndef qdoc
" q; H9 \1 g# K$ ~0 L9 L$ i) R, N0 x! m7 @. C, X& u
namespace QtConcurrent {
# i' h! p4 i( F; f& v; E
: O, d: c3 m w; `0 w( jtemplate <typename T>
; c9 i9 s$ V- V2 w. _4 S/ }! gstruct SelectSpecialization
" L) ~! L6 U5 t" s{4 ~1 V2 `- }$ {$ K
template <class Normal, class Void>
6 ^% l1 x8 X* T4 a, I. n struct Type { typedef Normal type; };. `4 U, `3 g1 L7 f$ k( L
};
' X: z2 z. ^: |, Y' |1 ^* R' B
0 h7 o+ ]& x) W) \5 C4 k5 q# utemplate <>( U% C8 r1 r: d4 t& R$ d
struct SelectSpecialization<void>
5 `7 H$ S9 l, {( \6 x( `+ `{
4 I# Q8 b, q! C4 G, ?8 g u template <class Normal, class Void>
% U5 v( B( O& c struct Type { typedef Void type; };& ~2 s3 G* o+ F
};
0 c m! o9 x+ a( b3 K: } N) I, _) H* n
template <typename T>
/ s+ P/ \1 r9 n2 Y3 qclass RunFunctionTaskBase : public QFutureInterface<T> , public QRunnable3 U) Y" l( p% v, c! G! c
{
8 _, X& o1 x0 X$ O lpublic:3 ?3 z9 k @8 N' J4 n( D9 f
QFuture<T> start()% y; n5 Y2 s. B3 X& _6 k8 O
{ o$ [5 A) ^4 m9 b
this->setRunnable(this);- y/ ^* ^0 l; w6 n! L4 q9 O% z
this->reportStarted();/ i* P: A4 J0 L
QFuture<T> future = this->future();
8 z0 _ R& Q9 |/ w- d! I QThreadPool::globalInstance()->start(this, /*m_priority*/ 0);) h! ]0 E1 |# x9 S3 @# W" O% z
return future;
+ k# x! v* q% ]5 K. L2 O0 `/ r }: {' \% x# ~1 m, S7 D
4 Y( o* x3 `( p0 d: ^* A7 v4 J void run() {}) F5 \9 \/ c5 J" J2 i4 ?6 c
virtual void runFunctor() = 0;4 }+ a0 |! T7 K0 O( `' M2 w
};
6 p: P' p6 }, d- z! J* A1 Y( {. m& r
template <typename T>
: T" E; t4 d+ fclass RunFunctionTask : public RunFunctionTaskBase<T>7 |9 b" u6 v1 x# K
{' g0 d" T7 I m. m9 \
public:
1 Y+ P. k6 f) w, `; L void run()
& [8 ] L1 z2 @( F; p* O {/ Q% C; T8 d) I7 p
if (this->isCanceled()) {
& k9 J0 ]9 {7 ], c, L1 C1 S# w this->reportFinished();( t7 i/ W4 C3 F! H: ]$ l+ i
return;" N. ]2 p, ]; O, U
}& N1 E' @1 }( ^( C
this->runFunctor();
# v; t" a7 x4 Y4 s5 C3 P5 O this->reportResult(result);
6 [, m7 T O& s" X7 v this->reportFinished();
$ i- n- {5 V( d9 z. { }
1 ^7 ?3 [) d! } T result;
1 J& [, z! ]! _};
( S& X4 S9 l3 q* {5 u6 z! r0 U" z5 x
template <>
% W8 a& [- ]( g! Xclass RunFunctionTask<void> : public RunFunctionTaskBase<void>
* \) O8 y1 r$ \7 n{
, o9 S5 d5 t3 X- ^4 E" X6 N$ Lpublic:
* ?8 \3 }# ~# b2 `, X void run()0 e$ X: X, m8 v" t& ^
{
$ t7 |8 x! r9 \2 M5 k% U( a if (this->isCanceled()) {: s2 O6 i b- [
this->reportFinished();9 V% Z& g/ }' X- M* @/ R
return;
, h6 O0 j: ^1 s E }
& Z6 z$ U4 ]* A2 g0 q& {5 w this->runFunctor();, {6 w# d. K. I4 A) C6 u- B
this->reportFinished();
1 P. M: o& d4 m+ Z+ w }0 R# h- c* q, D b- {
};( [6 ~) O- R' {7 Q* l
' q; V; |8 q' A& n5 A+ E+ I5 i, X
} //namespace QtConcurrent+ _8 d4 r6 L* I- T/ c+ J8 h K
1 z% G% H+ s0 P- t# ]0 W
#endif //qdoc: e9 C3 a& D8 X1 A4 E
* A/ r# _) p8 T6 g" C0 B: c- aQT_END_NAMESPACE8 T% H+ c4 Q; ]( s0 M2 E
QT_END_HEADER
3 d9 i: d4 R+ \
" |# n, K, z: Y/ F! n3 f8 M#endif // QT_NO_CONCURRENT0 Y% S ?( I' c5 b. p
" ]8 _& M' N- @6 J- w( D: a#endif7 g9 h: \# f. Q( Z( @
3 C+ P+ ]. X* i3 r
|
|