- - PR -
JNIを利用したいが、CPPをコンパイルできない。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-04 15:51
こんにちは。
JNIを練習してみようと思ったのですが、cppファイルのコンパイルが出来ません。 ちなみに、c系は一切やったことがありません。 http://www.hellohiro.com/native.htmのページのサンプルをそのまま使っているのですが、Windows用のやり方で、「bcc32 -IC:\j2sdk1.4.1_01\include -IC:\j2sdk1.4.1_01\include\win32 -tWD HelloWorldJNI.cpp 」コマンドを使うと HelloWorldJNI.cpp: エラー E2209 HelloWorldJNI.h 2: インクルードファイル 'jni.h' をオープンできない エラー E2141 HelloWorldJNI.h 15: 宣言の構文エラー エラー E2238 HelloWorldJNI.cpp 2: 'JNIEXPORT' の宣言が複数見つかった エラー E2344 HelloWorldJNI.h 15: 一つ前の 'JNIEXPORT' の定義位置 エラー E2141 HelloWorldJNI.cpp 2: 宣言の構文エラー *** 5 errors in Compile *** というエラーが起こります。 javaのバージョンが違うかもと思い、今使っている1.5.0用に、C:\Program Files\Java\jdk1.5.0_05\includeというパスにしても同じです。 これはどうしてなのでしょうか? 教えてください。 | ||||
|
投稿日時: 2006-07-04 21:27
どうしてかといえば、jni.hがないからかと。 そういえばjavaにはヘッダファイルに相当する概念が存在しないか、、 interfaceだけ書いたjavaファイルがそれになるのか。。。無理っぽいな。 まぁとにかく"C:\\j2sdk1.4.1_01\\include"ディレクトリにjni.hが必要です。 -Iの"I"はインクルードディレクトリを指します。 | ||||
|
投稿日時: 2008-08-10 03:01
>れんれんさん
jni.hがあるフォルダの指定が終わったら、 あとは。。。こんな感じでいけますよ! ↓ ◇注意◇ フォルダ名にスペースが入ってる場合は以下のように""(ダブルクォーテー)で囲わないといけない。 あとは、ちゃんとjni.hが以下のような指定したフォルダ配下(ここだとC:\Program Files\Java\jdk1.5.0_06\include)にあるかです。。。 bcc32 -I"C:\Program Files\Java\jdk1.5.0_06\include" -I"C:\Program Files\Java\jdk1.5.0_06\include\win32" -tWD HelloWorldJNI.cpp [ メッセージ編集済み 編集者: すべかつ 編集日時 2008-08-10 03:02 ] |
1