Forums: なんでも (Thread #21342)

MAX の開発を応援しています。 (2009-01-18 17:19 by Anonymous #41272)

Max のコードを Subversion で取得しました。
Vista / VisualStudio2008
でコンパイルしようと奮闘していますが、
まだ成功していません。先は長そうです。

【今、調査中の件】
1. oniguruma の使い方がわからない。(DLL)
2. Webkit の使い方がわからない。(DLL)
3. MSXML の使い方がわからない。(DLL)

まずは、MAX がコンパイルできるように
上記 3つの DLL の作り方/使い方を勉強したいと思います。

Reply to #41272×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: MAX の開発を応援しています。 (2009-01-18 18:10 by kim10000 #41274)

ありがとうございます♪
たぶん私の方が先が長そうです....(^^;

えっとお悩みの件ですが、使い方は私にもさっぱりです(?_?)
(さっきディレクトリ構造変えてしまいましたが...)
とりあえずコンパイルするには、

------------
2) Webkit は、、お試しコードで入っているだけで
実はほとんど使っていません..内部的に使わない定義が入っているので、
common/edit.h の中 7行目ぐらい、
#define USE_JAVASCRIPT_CORE 1

#define USE_JAVASCRIPT_CORE 0

1 -> 0 に変更すると Webkit は無くて OK です。

------------
3) MSXML もしかしたら .dll が無いのかもしれません
Max/keyword.cpp の中 2行目
#import "msxml2.dll"
msxml2.dll の部分を msxml3.dll や msxml4.dll や
msxml5.dll に変えてみてください :)
もしくは msxml 自体が、Microsoft から配布されているのでそれをインストールするのでも
(上記数字の部分をダウンロードしたmsxml の Version に合わせてください)大丈夫なはずです。

------------
1) oniguruma は、コンパイルが必要なので...
1. http://www.geocities.jp/kosako3/oniguruma/index_ja.html から 5.9.1 最新版をダウンロードします

2. 解凍します

3. 解凍したフォルダ/win32 の中の config.h と Makefile を解凍したフォルダ(一つ上のフォルダ)にコピーします

4. スタート -> ファイル名を指定して実行 -> cmd と入力するとコマンドプロンプト(黒背景の画面)が立ち上がります

5. 解凍したフォルダのドライブが違う場合には、そのドライブ名:(例えば d:) と入力しエンターキーを入力します

6. cd 解凍したフォルダとしエンターキーを押すか、cd(スペース) と打った段階で、エクスプローラから解凍フォルダを
ドラッグし(cd 解凍したフォルダとなるはずです)エンターキーを押します。

7. Visual Studio をインストールしたディレクトリ\VC\bin\vcvars32.bat を先ほどのコマンドプロンプト画面にドラッグし
エンターキーを押します。

8. nmakeと入力しエンターキーを押します。

9. 問題がなければ、これでビルドできているはずです。

10. できあがった onig_s.lib を Max のフォルダ(最新の状態ならば Max/vc9/ の中)にコピーします。

11. src/ の下に oniguruma というフォルダを作り、そこに oniguruma.h をコピーします。

以上で完了です。
長々書いてますけど、そー大変じゃないはずです..たぶん(^^;
それでも駄目なようでしたら、Visual Studio が出すエラーメッセージを貼り付けた上で
また仰ってください~

あ もしかしたら Platform SDK も更新しないといけないかな...上で駄目な場合、
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
こちらのインストールも試してみる価値はあります
Reply to #41272

Reply to #41274×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

詳しく教えていただきありがとうございました。 (2009-01-18 19:23 by Anonymous #41276)

丁寧な解説ありがとうございました。
おかげで無事にコンパイルできました。バージョンアップ、期待してます。

1. 教えていただいた方法で、onig_s.lib が作成できました。
[real_text.cpp]
"onig_s_debug.lib" 作成方法がわからないため
"onig_s.lib" を指定しました。

2. [edit.h]
#define USE_JAVASCRIPT_CORE 0

3. [keyword.cpp]
#import "msxml6.dll"
Reply to #41272

Reply to #41276×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 詳しく教えていただきありがとうございました。 (2009-01-18 20:52 by Anonymous #41277)

(^^v
バージョンアップは気長にお待ちください...白髪になる前に、見捨てられる前には完成させますので(^^;

あ onig_s_debug.lib ですが、
先ほどの鬼車のビルド手順とほぼ同じでできます。
具体的には、

1) コピーした Makefile を 別の名前でコピー(例えばMakefile_dbg)する

2) コピーしたファイルを開き、CFLAGS = の行を Max と同じコンパイルオプションを指定し保存する

CFLAGS = -Od /D "_ATL_STATIC_REGISTRY" /GF /Gm /EHsc /RTC1 /MDd

3) 同様に、libname の部分に _debug を追加する

libname = $(libbase)_s_debug.lib


4) 前回と同じく、コマンドプロンプトを出し、鬼車のディレクトリに移動し、vcvars32.bat を実行する

5) nmake -f Makefile_dbg clean とタイプしエンターキーを押す

6) nmake -f Makefile_dbg

でビルドできるはずです

ただこのライブラリをリンクすると、デバッグ版終了時にメモリリークのメッセージが出てしまいます。
これは鬼車のソースを変更しないとならないので(enc/unicode.c の CaseFoldInited の値を見て
FoldTable ~ Unfold3Table まで開放する必要がある)
これが気になるようでしたらonig_s.lib をリネームでもおっけーです。
(リーク自体は、終了時の開放忘れなので特に問題は無いんですが、デバッグしてると自分のリークが
判りづらくてちょっと困る程度)

Reply to #41276

Reply to #41277×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login