从java编译c ++文件

时间:2013-01-30 14:52:43

标签: java c++

我的问题是在java中编译c ++文件。我试过执行c#,很好。 这个提取代码用于编译c#

ProcessBuilder launcher = new ProcessBuilder("gmcs","HelloWorld.cs");`

但是,我的c ++代码

ProcessBuilder launcher =new ProcessBuilder("g++", "HelloWorld.cpp -o HelloWorld");

返回error = 2,没有这样的文件或目录 表示我使用的路径
launcher.directory(new File(path)) 在两种情况下

1 个答案:

答案 0 :(得分:6)

您需要单独提供参数:

ProcessBuilder launcher =
    new ProcessBuilder("g++", "HelloWorld.cpp", "-o", "HelloWorld");

否则整个参数字符串作为一个参数传递给g++可执行文件,g++尝试查找名为HelloWorld.cpp\ -o\ HelloWorld的文件(使用转义空格)就像在Linux终端上一样。)

See the documentation了解有关使用情况的详细信息。