MENU

溶けかけてるうさぎ HP BLOG TOP RECENT ARTICLES POPULAR ARTICLES ABOUT THIS BLOG

CATEGORY

大学 (85) 航空宇宙 (55) 写真 (25) 旅行 (14) 飯・酒 (11) コンピュータ (88) その他 (13)

TAG

ARCHIVE

2018 (92) 2017 (80) 2016 (0)

RECENT

【駅メモ】4年目に突入して,ようやく3000駅突破 【WebRTC】Raspberry Pi搭載ロボットをWebRTCで遠隔操作しようとして失敗した 【航空宇宙】航空宇宙アドベントカレンダー 始まります! 【Perl】YAPC::Tokyo 2019 のチケットを確保しました! 【カメラ】Canonから富士フイルムに乗り換えました

【MinGW】MinGWのg++には,to_string関数が存在しないというバグがある

2017-08-03

一昔前(一昨年)に,MinGWにto_string関数がないことではまったので,備忘録的に記録しておく.

 

トップ画像の出典はこちら

1.動作環境

Microsoft Windows 10 Home (64bit)

mingw-get version 0.6.2-beta-20131004-1 Copyright (C) 2009-2013, MinGW.org Project

g++ (GCC) 5.3.0

2.症状

MinGWのg++でto_string関数を使用すると,

error: 'to_string' is not a member of 'std'

と怒られる.

 

に同様の問題に対する以下のような回答がのっている.

This is a known bug under MinGW. Relevant Bugzilla. In the comments section you can get a patch to make it work with MinGW.

 

This issue has been fixed in MinGW-w64 distros higher than GCC 4.8.0 provided by the MinGW-w64 project. Despite the name, the project provides toolchains for 32-bit along with 64-bit. The Nuwen MinGW distro also solves this issue.

 

どうやら,MinGWのバグのようだ.

MinGWの開発自体が今どうなってるのか不明(長いことMinGWは更新されていない)なことと,MinGW-w64だと直っているということより,そろそろMinGW-w64に乗り換えてもいいかもしれないなぁ.

3.代替策

代替策として,以下のような関数を定義して代用している.

template <typename T>
string ToString(const T& input) {
	ostringstream oss;
	oss << input;
	return oss.str();
}

4.出典サイト

stackoverflow. to_string is not a member of std, says g++ (mingw). Retrieved August 3, 2017, from https://stackoverflow.com/questions/12975341/to-string-is-not-a-member-of-std-says-g-mingw

コメントを投稿

名前

Email (※公開されることはありません)

コメント