- ベストアンサー
cursesの呼び出し規約について
- cursesを利用する際の呼び出し規約に関する問題が発生しています。
- エラーが出てビルドできない状況ですが、__cdecl規約では別の関数が使用できなくなります。
- どのように改善すれば__stdcall規約でcursesを使用することができるかアドバイスをいただきたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>PDcursesの作成なのですが。 >http://pokotsun.mydns.jp/?p=2343 >このサイトの手順で行っています。 どの手順ですか・・・ 「VisualStudio2010なら」の手順と過程しておきますけど。 vcwin32.mak の27行目に CFLAGS = -O1 とあるので CFLAGS = -O1 /Gz と/Gzを付け足して作り直せばいいはずです(以前、作成時に使用したフォルダで行うなら要 nmake -f vcwin32.mak clean)
その他の回答 (4)
- wormhole
- ベストアンサー率28% (1626/5665)
>作り直すほどの知識が正直ないので PDcurses作成時のコンパイルオプションに/Gzを追加してください。 #1の補足のurlのものをつかってるならPDcursesのコンパイルはできると思うんですけど。
補足
PDcursesの作成なのですが。 http://pokotsun.mydns.jp/?p=2343 このサイトの手順で行っています。 コンパイルという意味はわかるのですが。 コンパイルオプションに追加の方法がわかりません。 コマンドでコンパイルするときには clコマンドを使いますよね(たぶん) どのように追加すればいいのか詳しくお願いできますか? よろしくお願いします。
- wormhole
- ベストアンサー率28% (1626/5665)
>どのようなcursesなら使用できるのですが? あなたが作られている制御プログラムで使えるcursesを探すなり手をいれるなりしてください。としか私にはいえないです。 PDcursesのソースをちょっと見た限りでは、PDcursesを/Gzで作り直すのが一番手っ取りばやいかと思います。 適切なのは/Gzなどのオプションに影響されないようにPDcursesのヘッダファイルやソースに手をいれるでしょうけど。
補足
作り直すほどの知識が正直ないので /Gzなどに影響されないPdcursesを探したのですが。 なかんか見つけられることができません。 ダウンロードできるサイトなど心当たりがありましたら 教えてもらえると助かります。 大変参考になりました。ありがとうございます。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
cursesライブラリは __stdcall でビルドされたものなのでしょうか?
- wormhole
- ベストアンサー率28% (1626/5665)
cursesにもいろいろあるんですが、どこから入手されたcursesですか?
補足
http://sourceforge.jp/projects/sfnet_pdcurses/downloads/pdcurses/3.4/PDCurses-3.4.tar.gz/ をダウンロードして使用しています。 cursesにいろいろな種類があることは知りませんでした。 どのようなcursesなら使用できるのですが?
お礼
以下の手順で行いました nmake -f vcwin32.mak clean を行い CFLAGS = -O1 /Gz 書き直し nmake -f vcwin32.mak で実行したら 以下のようなエラーが出てきましだが ちゃんとライブラリファイルが作成されました。 ../demos\newdemo.c(237) : error C2440: '関数' : 'void (__stdcall *)(int)' から ' void (__cdecl *)(int)' に変換できません。 ../demos\newdemo.c(237) : warning C4024: 'signal' : の型が 2 の仮引数および実引 数と異なります。 この1週間悩んでいたことが解決できました。心から感謝しています。夜遅くまでありがとうございました。