3: 2007-02-11 (日) 21:41:07 |
現: 1970-01-01 (木) 18:00:00 |
- | **aska [#d44c8c2d] | |
- | -うーん・・・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としておこう。 | |