试图编译并运行c++;用java代码编写代码 我试图从java程序编译并运行C++程序,我制作了一个具有编译和执行命令的BAT文件,BAT文件的代码工作正常,但是打开.BAT文件的代码不起作用。它说“g++不被识别为内部/外部命令”,但如果我手动打开.bat文件,它就可以正常工作。请帮我输入代码: import java.io.*; import java.util.*; import java.lang.*; public class Batch { FileOutputStream fos; DataOutputStream dos; public Batch() { } public void createBat() throws Exception { File file=new File("M:\\AV\\compile_Execute.bat"); fos=new FileOutputStream(file); dos=new DataOutputStream(fos); dos.writeBytes("@echo off"); dos.writeBytes("\n"); dos.writeBytes("g++ main.cpp -o main.exe -lmingw32 -lSDL2main -lSDL2 & main.exe"); fos.close(); } public void executeBat() throws Exception { String[] command = {"cmd.exe", "/C", "Start", "M:\\AV\\compile_execute.bat"}; Process p = Runtime.getRuntime().exec(command); } }
这里发生的情况是,您弄乱了路径,因为文件位于另一个驱动器中,您不能仅使用该路径或使用“.”返回文件夹试图编译并运行c++;用java代码编写代码 我试图从java程序编译并运行C++程序,我制作了一个具有编译和执行命令的BAT文件,BAT文件的代码工作正常,但是打开.BAT文件的代码不起作用。它说“g++不被识别为内部/外部命令”,但如果我手动打开.bat文件,它就可以正常工作。请帮我输入代码: import java.io.*; import java.util.*; import java.lang.*; public class Batch { FileOutputStream fos; DataOutputStream dos; public Batch() { } public void createBat() throws Exception { File file=new File("M:\\AV\\compile_Execute.bat"); fos=new FileOutputStream(file); dos=new DataOutputStream(fos); dos.writeBytes("@echo off"); dos.writeBytes("\n"); dos.writeBytes("g++ main.cpp -o main.exe -lmingw32 -lSDL2main -lSDL2 & main.exe"); fos.close(); } public void executeBat() throws Exception { String[] command = {"cmd.exe", "/C", "Start", "M:\\AV\\compile_execute.bat"}; Process p = Runtime.getRuntime().exec(command); } },java,c++,batch-file,Java,C++,Batch File,这里发生的情况是,您弄乱了路径,因为文件位于另一个驱动器中,您不能仅使用该路径或使用“.”返回文件夹 首先,转到最大的目录 cd "C:\" 然后,换个方向 M: 请注意,要更改directoy,您必须位于驱动器最大的文件夹中;要更改驱动器,您必须使用字母: 这两个步骤可以简化为cd D: 下一步: cd "M:\\AV\\" 最后: compile_execute.bat 合并它时,我会使用它,而不仅仅是一个路径:cd/D M:\\AV\\compile\u execute.
cd "C:\"
M:
请注意,要更改directoy,您必须位于驱动器最大的文件夹中;要更改驱动器,您必须使用字母:
这两个步骤可以简化为cd D:
cd "M:\\AV\\"
compile_execute.bat
cd/D M:\\AV\\compile\u execute.bat
我建议读一读
感谢您对无法将目录更改为文件所做的评论。这里发生的情况是,您弄乱了路径,因为文件位于另一个驱动器中,您不能仅使用路径或使用“.”返回文件夹
cd "C:\"
M:
请注意,要更改directoy,您必须位于驱动器最大的文件夹中;要更改驱动器,您必须使用字母:
这两个步骤可以简化为cd D:
cd "M:\\AV\\"
compile_execute.bat
cd/D M:\\AV\\compile\u execute.bat
我建议读一读
感谢您对无法将目录更改为文件的相关评论。
g++
不在您的路径中。但是当我打开这个.bat文件时,它确实生成了main.exe文件。opencmd
并键入where/r c:\g++
,然后等待它将输出打印到屏幕上。让我知道输出是什么。c:\msys64\mingw64\bin\g++.exe c:\msys64\usr\share\bash completion\completions\g++这是输出。g++
不在您的路径中。但是当我打开这个.bat文件时,它确实生成main.exe文件。打开cmd
并键入where/r c:\g++
,然后等待它将输出打印到屏幕上。让我知道输出是什么。c:\msys64\mingw64\bin\g++.exe c:\msys64\usr\share\bash completion\completions\g++这是输出。