通話を分析できるように、Dialogic DivaSDK を使用したプロジェクトに取り組んでいます。DivaSDK は JNI 経由で Java をサポートしているため、サンプルを試してみたかったのです。残念ながら、Java のドキュメント全体は、C# のドキュメントほど完全ではありません。濁った海で釣りをしているようなものです。最初のステップでは、サンプル ( Link to DivaSDK with Sample Files ) ファイルを調べて試してみました。各サンプルには、実行する必要があるメイクファイルがあります。私の問題を傷つけるマニュアル内の唯一の部分は次のように聞こえます:
アプリケーションをコンパイルおよびリンクする方法の詳細については、Diva SDK で提供されるサンプルを参照してください。すべてのサンプル サブディレクトリには、そのアプリケーションのコンパイルおよびリンク プロセスを記述したメイクファイルがあります。メイクファイルの評価には、シェル スクリプトとメイクファイルの構文に関するある程度の知識が必要であり、このドキュメントの範囲外です。
私の問題は、指定されたメイクファイルが想定どおりに機能しないことです。「ターゲットがありません」というエラーが表示されます。makefile についてあまり詳しくないので、そのファイルの何が問題なのかわかりません。
#-------------------------------------------------------------------------------
#
# makefile to geenrate the Diva SDK Java sample "SimpleApp". This makefile
# generate the class files for teh framework and the sample and creates
# a SimpleApp.jar that can be executed via jav -jar SimpleApp
#
# The makefile assumes that the java development enmvironment is installed and
# the java tools are accessable from the command prompt.
#
#-------------------------------------------------------------------------------
FRAMEWORK_PATH=..\..\Framework
FRAMEWORK=$(FRAMEWORK_PATH)\DivaAPI.java $(FRAMEWORK_PATH)\DivaCallBase.java
BIN_DIR=.\bin
SRC_DIR=.\src
TRAGET=SimpleApp
#edited with hint from @Aaron Digulla
all : $(BIN_DIR)\$(TRAGET).jar
SRC=$(SRC_DIR)\SimpleApp.java \
$(SRC_DIR)\AppCall.java
$(BIN_DIR)\$(TRAGET).jar: $(SRC)
@echo #-----------------------------------------------
@echo # Generate class files
@echo #-----------------------------------------------
javac -d $(BIN_DIR) -sourcepath $(FRAMEWORK_PATH) $(FRAMEWORK) $(SRC)
@echo #-----------------------------------------------
@echo # Generate jar files and clean class and manifest
@echo #-----------------------------------------------
copy $(SRC_DIR)\manifest.txt $(BIN_DIR)
cd $(BIN_DIR)
jar -cvfm $(TRAGET).jar manifest.txt *.class > nul
del *.class
del manifest.txt
cd ..
@echo #-----------------------------------------------
@echo # $(BIN_DIR)\$(TARGET).jar successfully created
@echo #-----------------------------------------------
ターゲットの定義が間違っているようですが、どのように定義されているかわかりません。どんなヒントでも大歓迎です。
edit1: @Aaron Digullaからのヒントにより、少しうまく機能します。少なくともターゲットは認識されます。しかし、今では、jar を作成するためのルールがないというエラーが表示されます。
edit2:うーん...ファイルパスが間違っているようです。バックスラッシュ ( "\" ) の一部を通常のスラッシュ ( "/" ) に置き換えると、コンパイルが開始されます。コピーで止まりますが…