Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Macのg++とopen64

タグ: Mac C++ gcc

Linux向けに作成中のコードをMacのg++でコンパイルしたところ、以下のエラーが発生した。

error: ‘open64’ was not declared in this scope

どうもMacのopen素で64bitに対応しているため、open64が存在しないらしい。

仕方がないので、コンパイルオプションに

-D_FILE_OFFSET_BITS=64

を加えてopenを64bit化し、open64openに書き換える。

ただこれだけだと本当に64bit化されているか不安(コンパイルオプションを書き間違えるかも……)だったので、念のためコードに静的表明を埋め込む。

BOOST_STATIC_ASSERT(sizeof(off_t) == 8);

これでひとまず安心かな。

スポンサーサイト

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://idlysphere.blog66.fc2.com/tb.php/22-51004f09
この記事にトラックバックする(FC2ブログユーザー)

Appendix

タグ

Blog内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。