JNIでJavaから呼び出されるC++コードをコンパイルする必要があります。これらのC++関数はアセンブリ関数(NASMでアセンブル)を呼び出さなければなりません。 JNIはアセンブリ関数のラッパーです。MSVC++コンパイルのみ/リンカーを無効にする
しかし、NASMによって生成された.objファイルとリンクできる.dllにコードがコンパイルされる前に、未定義の外部参照をアセンブリ関数に解決できません。だから、C++モジュールをビルドするときに苦情がないようにリンカーを「無効にする」方法はありますか? (セミコロンで区切られた)Additional Dependencies
リストにあなたのobj
ファイルを追加し、NASMによって生成obj
ファイルにリンクあなたのC++プロジェクトのプロパティを開き、Configuration Properties > Linker > Input
を選択するには
スタティック/ダイナミックライブラリ、またはそこから呼び出されたものをビルドする必要があります。 – fazo
どのC++コンパイラを使用していますか、どのバージョンですか? IDEまたはコマンドラインからそのコードをビルドしていますか? –
本当の問題はNASMライブラリをC++コードにリンクできないことですね。 – Andrey