現在スマートポインタの勉強をしていてそのテストプログラムを組むところなのですが、
コンパイルするときに
\boost_1_48_0\boost\assert.hpp(104) : error C2039: 'abort' : 'std' のメンバではありません。
というエラーが出てきてしまい対処に困っています。
(ライブラリはこちらhttp://www.boost.org/で入手したものです)
自前のコードを修正するのとは違うのでどうすればいいのかわかりません、
どなたか解決するすべをご教授願えればとおもいます。
Visual C++6.0を使っています。
shared_ptrが使えない
Re: shared_ptrが使えない
なぜそんな古いコンパイラを使っているのかわかりませんが...wiruka さんが書きました:Visual C++6.0を使っています。
Boost C++ Libraries 1.48.0は、Visual C++ 2005以降しかサポートされていなかったはずです。
もっと新しいコンパイラに変えるか、もっと古いバージョンのBoost C++ Librariesを使ってください。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: shared_ptrが使えない
少なくともVC++6.0はBOOST1.48では対象としていないのは確かですね。
テストコンパイラがVC++8.0以上って書いてあります。
VC++6.0にstd::abortがあるか調べてみて下さい。
無ければboostを古いものにするかVC++8.0以降を使うかです。
テストコンパイラがVC++8.0以上って書いてあります。
VC++6.0にstd::abortがあるか調べてみて下さい。
無ければboostを古いものにするかVC++8.0以降を使うかです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: shared_ptrが使えない
Visual C++ 6.0はきわめて標準準拠度が低く(というか、ISO/IEC 14882:1998以前の処理系です)、std::abortはありません。softya(ソフト屋) さんが書きました:VC++6.0にstd::abortがあるか調べてみて下さい。
もっと正確にいうと、<cstdlib>をインクルードしても、::abortが宣言されます。
ちなみに、Visual C++ 2010でも本来の意味でのstd::abortはありません。
<cstdlib>をインクルードすると、<stdlib.h>で宣言された::abortをstd名前空間でusingしているだけです。
Re: shared_ptrが使えない
たかぎさん、softya(ソフト屋) さん返信ありがとうございます、
一度こちらも返信したのですが何故か掲示板に反映されなかったらしく対応が遅れてしまいました(汗
Vc++6.0をしつこくつかってきていたのは手持ちの参考書が6.0を対象にしたものだったからですが、
これを機に2010Expressionの方を使うことにしました
一度こちらも返信したのですが何故か掲示板に反映されなかったらしく対応が遅れてしまいました(汗
Vc++6.0をしつこくつかってきていたのは手持ちの参考書が6.0を対象にしたものだったからですが、
これを機に2010Expressionの方を使うことにしました