質問

私はGCJのコンパイルを自動化するアクションを作成します。私はそれがアリにして動作させることができませんでしたhref="https://stackoverflow.com/questions/2404763/how-to-use-gcj-with-ant">

役に立ちましたか?

解決

私はすべての多くのGCJを使用していないと私はSBTでまだかなり新しいんだけど、これは私はあなたがSBT 0.7.1で探している正確に何をするための簡単なタスクを書くことができ信じている方法です。あなたは、クラスファイルのすべてをつかむためにパスファインダを使用することができますそのようなます:

val allClasses = (outputPath ##) ** "*.class"

そのパスファインダと「compileClasspath」を使用してトップレベルのメソッドは、現在のプロジェクトのクラスパスを使用してGCJを実行し、1 gcjFileに.classファイルのすべてを構成するであろう。このようにタスクを構築することができます:

val gcj = "/usr/local/bin/gcj"
val gcjFile = "target/my_executable.o"

val allClasses = (outputPath ##) ** "*.class"

lazy val gcjCompile = execTask {
  <x>{gcj} --classpath={compileClasspath.get.map(_.absolutePath).mkString(":")}  -c {allClasses.get.map(_.absolutePath).mkString("-c ")} -o {gcjFile}</x>
} dependsOn(compile) describedAs("Create a GCJ executable object")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top