在 Ubuntu(Linux) 下,不能直接生成 Windows 的 .exe 文件,除非使用 交叉编译。下面分情况说明:
如果你只是想在 Ubuntu 上运行 C++ 程序:
g++ main.cpp -o main
./main
生成的 main 是 Linux 可执行文件,不是 .exe。
.exe(交叉编译)sudo apt update
sudo apt install g++-mingw-w64
x86_64-w64-mingw32-g++ main.cpp -o main.exe
生成的 main.exe 可以在 Windows 上运行。
如果是 32 位:
i686-w64-mingw32-g++ main.cpp -o main.exe
sudo apt install cmake g++-mingw-w64
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=... ..
make
❌ Ubuntu 直接 g++ 生成的是 .exe
✅ Linux 不依赖扩展名,.exe 是 Windows 格式
❌ 在 Ubuntu 运行 .exe
✅ 需要用 Wine 或放到 Windows 运行
| 目标 | 命令 |
|---|---|
| Linux 程序 | g++ main.cpp -o main |
| Windows exe | x86_64-w64-mingw32-g++ main.cpp -o main.exe |
如果你有 具体代码 / 库(如 SDL、Qt),我可以给你更详细的编译命令。