|
現: 2024-01-06 (土) 22:39:10 |
| + | **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としておこう。 |