Java使用Runtime.exec()的问题
不知到如何解决,我想用Java来调用gcc,编译C/C++,可是用Runtime.exec()来实现时总报错,源码如下Stringstr[]=newString[]{"c...
不知到如何解决,我想用Java来调用gcc ,编译C/C++,可是用Runtime.exec()来实现时总报错,源码如下
String str[]=new String[]{"cd E:\\MinGW","mingwvars.bat","gcc H:\\mymain\\calc.c H:\\mymain\\main.c -o H:\\mymain\\main"};
Runtime run= Runtime.getRuntime();
Process p =run.exec(str);
报错如下:
java.io.IOException: Cannot run program "cd E:\MinGW": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
at myframe.RunGcc.main(RunGcc.java:19)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 3 more 展开
String str[]=new String[]{"cd E:\\MinGW","mingwvars.bat","gcc H:\\mymain\\calc.c H:\\mymain\\main.c -o H:\\mymain\\main"};
Runtime run= Runtime.getRuntime();
Process p =run.exec(str);
报错如下:
java.io.IOException: Cannot run program "cd E:\MinGW": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
at myframe.RunGcc.main(RunGcc.java:19)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 3 more 展开
3个回答
展开全部
String str = "cmd.exe /C cd E:\\MinGW";
这样才是正确的 ,cd不是单独的程序 是调用cmd控制台里面的命令。
这样才是正确的 ,cd不是单独的程序 是调用cmd控制台里面的命令。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是Runtime.exec()出的问题,是你
String str[]=new String[]{"cd E:\\MinGW","mingwvars.bat","gcc H:\\mymain\\calc.c H:\\mymain\\main.c -o H:\\mymain\\main"};
定义数组的时候出了问题
换成普通字符串就OK了
String str[]=new String[]{"cd E:\\MinGW","mingwvars.bat","gcc H:\\mymain\\calc.c H:\\mymain\\main.c -o H:\\mymain\\main"};
定义数组的时候出了问题
换成普通字符串就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cmd /c "cd e:\\MinGW"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询