2011-02-03 8 views
0

私はここで私はjavaで使用されるIDLファイルをコンパイルする必要がある問題があります。実際に私はこのためにOTSまたはJTSを使用したいと私はDOUTフンすべてはIDLファイルが別のファイルをインポートする必要があるというように、ここでのコードであることである:CORBAのIDLファイルをコンパイルするにはどうすればよいですか?

#include "C:\java\jts1_0\CosTransactions.idl" 

interface ITransaction: CosTransactions::TransactionalObject 
{ 
    double charge(in double arg0); 
}; 

と私は、思ったのは、使用してコンパイルしてみましょう:のidljを次のような結果と-fall ITransaction :

ITransaction.idl (line 9): There is a forward reference to CosTransactions/Current, but it is not defined. 

私は大規模なチュートリアルでこれを行う必要があると今私が間違って何ができるかわかりませんことをお読みください。 OK現在は定義されていません、なぜか? jtsは正常に動作するはずです。

...

+0

ファイルを表示してくださいCosTransactions.idl – maks

+0

http://pastebin.com/g4Mgu8dNここにあります! – Andre

+0

一部のシステムでは、前方宣言を持つインターフェイスから継承することはできません。 (例:http://documentation.progress.com/output/Iona/orbix/gen3/33/html/orbix33java_pguide/IDL.htmlを参照)。 OracleのJava IDLコンパイラには当てはまりませんが、根本原因に関連する可能性があります。前方宣言を取り出して試してみてください。 – kvista

答えて

0

あなたは現在のインターフェイスに前方参照を持っていますが、このintrefaceの定義は、コメントの下にあります。コメントを外してみてください。

+0

私はそれをしましたが、うまくいきませんでした。org/omg/CORBA/Currentは宣言されていないタイプです。現在のCORBA :: Current { – Andre

+0

line 77:// IDLコンパイラがスタブなどを生成することを防ぐためにコメントアウトしました。 これを書いてありますか? 私は、インターフェイスのためのスタブ(操作のリモート呼び出し用)を生成したくない場合、それをidlファイルに宣言するべきではないと思います。私が見てきたように、あなたはidlファイルのどこにでもこのインタフェースを採用していないので、インタフェースCurrentへの前方参照とこのインタフェースの定義をコメントしようとする – maks

関連する問題