a327904410 发表于 2023-4-21 10:51:03

vscode怎么切换32位和64位编译环境?

如图所示,右下角好像一直有Win32,编译结果一直是4。64下编译long字节长度应该为8的,百度了修改环境也还是不行,对vscode配置不是很熟悉,请求指点{:10_245:}
个人使用的编译器是mingw

isdkz 发表于 2023-4-21 11:51:37

在 Visual Studio Code 中,你可以通过修改 tasks.json 配置文件来切换 32 位和 64 位编译环境。这里是一个基本步骤:

1. 首先,确保你已经安装了 32 位和 64 位的 MinGW 编译器,并且它们已经被添加到系统环境变量 PATH 中。

2. 在 VSCode 中打开你的项目文件夹。

3. 点击左侧边栏的 "终端" 图标,然后点击 "运行任务"。如果你还没有设置任何任务,点击 "创建 tasks.json 文件"。

4. 在打开的 tasks.json 文件中,添加两个任务,分别用于 32 位和 64 位编译环境。你可以使用以下模板:

{
    "version": "2.0.0",
    "tasks": [
      {
            "label": "build (32-bit)",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-m32",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}_32.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
      },
      {
            "label": "build (64-bit)",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-m64",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}_64.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": false
            },
            "problemMatcher": "$gcc"
      }
    ]
}


5. 保存 tasks.json 文件并关闭。

6. 当你需要切换编译环境时,只需点击左侧边栏的 "终端" 图标,然后点击 "运行任务"。在弹出的任务列表中,选择 "build (32-bit)" 或 "build (64-bit)",即可编译对应环境下的可执行文件。

7. 生成的可执行文件将被放置在源文件相同的文件夹下,并带有 "_32.exe" 或 "_64.exe" 后缀,以表明它们分别是 32 位和 64 位版本。

这样,你就可以根据需要在 VSCode 中轻松切换 32 位和 64 位编译环境了。

陶远航 发表于 2023-4-22 10:02:02

根据您提供的截图信息,右下角的显示 Win32 是指当前所使用的编译器工具链是 32 位的。而对于 long 类型在 64 位编译环境下的长度问题,可能是因为您的编译器默认将 long 类型定义为 32 位的,而不是 64 位的。

如果您使用的是 MinGW-w64 作为编译器,可以通过在编译时指定 -m64 选项来进行 64 位编译,如下所示:
g++ -m64 main.cpp -o main
如果您使用的是旧版的 MinGW,则可能需要使用另一个名为 mingw-w64 的开源项目,该项目支持在 64 位 Windows 平台下进行 C/C++ 编译。您可以尝试安装该项目并使用其中的 x86_64-w64-mingw32-g++.exe 编译器来进行 64 位编译。

轻装前行 发表于 2024-10-12 21:49:02

遇到一样的问题,全网都没搜到答案,mingw64不是支持32位编译的么
页: [1]
查看完整版本: vscode怎么切换32位和64位编译环境?