雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。

aska anchor.png Edit

  • うーん・・・BSDの文句ばっかりになっちゃうけど、(これはオイラがLinuxばっかのため。お許しを)どこになにが入っているのかを把握するのが本当に困難だなぁ。 たとえばgccコマンド。whichすれば位置がわかるんだけど、このコマンドがどのカテゴリのなんていうパッケージor portsの中のものなのかが皆目わからない。(なんかコマンドがあるんだろうけど・・・)

コンパイル失敗。こんなエラー。
なつかしいなぁ。以前にもこれで悩まされた。型キャストの指定方法がまーた変化したようですね。ええと。正しい指定方法は・・・と。

                                    :
#else
        void    Release(void){ DELETEPTR_SAFE((unsigned char*)lpMdlAdr); dwMdlS\
ize=0; lpMdlPos=NULL; }
#endif
                                    :
module.h:39: error: ISO C++ forbids cast to non-reference type used as lvalue
  • 確か前回は、この「chre*」の指定方法が変わってしまったのでエラーになったんだよね。ええと・・・?
  • ・・・んんん? 「gcc-3.4系では左辺をキャストして代入するのはISO C++で禁止されているとしてエラーになる。なので右辺側をキャストすべし」とな??? えー! どゆこと???
  • 右辺かぁ・・・。普通に考えれば左辺は c = a+b; 等のcの部分だよね?。でもこれ、変数の宣言だよなぁ。右辺左辺なんてないはずなんだけど・・・
  • とにかく、どうもこの DELETEPTR_SAFE((unsigned char*)lpMdlAdr編集) というキャストがよくないらしいんだけど、WINVCの場合はこの変換を行っていない・・・
  • これ、そのまま DELETEPTR_SAFE(Lpmdladr); にしちゃうとまずいのかな??
    module.h: In member function `void Module::Release()':
    module.h:40: error: `Lpmdladr' undeclared (first use this function)
    module.h:40: error: (Each undeclared identifier is reported only once for each function it appears in.)
  • あれ〜? 型キャストもなにも、そもそも、Lpmdladr っていう変数そのものが「知らん〜」じゃないか。なんだろ〜?これ???
  • ・・・ここから先は自信なし。
  • この部分、前後を見ると、元々今原さんが作った(WinVC++)部分をなんとかMinGWでコンパイルできるようにと後から追加された部分だよね?。頭のほうで、 lpMdlAdr編集 って名前が宣言されてる。これと大文字小文字が違うだけ。・・・移植ミスor移植忘れじゃないの?これ?
  • なので、そう書き換えてみる。
    module.h: In member function `void Module::Release()':
    module.h:40: warning: deleting `void*' is undefined
    g++  -O2 -I. -DLINUX -c stringx.cpp
    g++  -O2 -I. -DLINUX -c table.cpp
    In file included from table.h:21,
                     from table.cpp:1:
  • んんん?? こんな警告が何回か出たけど、とりあえずコンパイルは出来たぞ??
  • はたしてこれでaskaは出来上がっているのかな???。お?出来ている。
  • まあいいや。とにもかくにも、これで一旦OKとしておこう。

最終更新: 2024-01-06 (土) 22:39:10 (JST) (110d) by