在 Visual Studio 代码上使用 Docker 为 macOS 编译 C++

Compile C++ with Docker on Visual Studio Code for macOS

我在 BeagleBone Black (Ubuntu 14.04 (Trusty Tahr), ARM v7) 上启动了一个 C++ 应用程序的新项目,但将来我会将应用程序移植到 Linux 或 Windows.

我想搭建一个可以跨平台的开发环境(尤其是macOS)

目前,我使用:

目标是使用我的 Docker 图像构建我的应用程序,将二进制文件传输到我的 BeagleBone Black 并从我的 macOS Visual Studio 代码实例在目标上进行调试。

此外,我尝试在我的 Docker 图像上安装 Visual Studio 代码,但它有点迟钝,而且我的键盘无法正常工作。

我愿意更改我的开发设置,但我不知道最佳做法。

最后我使用 "workaround" 和 Visual Studio 代码任务

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "showOutput": "always",
    "runner": "terminal",
    "command": "bash",
    "args": [
        "-c"
    ],
    "isShellCommand": true,
    "tasks": [
        {
            "taskName": "docker-cmake-configure",
            "suppressTaskName": true,
            "args": [
                "docker exec -it ${config:custom.docker.defaultName} cmake --no-warn-unused-cli -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/arm-linux-gnueabihf-gcc-4.8 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/arm-linux-gnueabihf-g++-4.8 -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -H/home/developer/project -B/home/developer/project/build"
            ]
        },
        {
            "taskName": "docker-cmake-build",
            "suppressTaskName": true,
            "isBuildCommand": true,
            "args": [
                "docker exec -it ${config:custom.docker.defaultName} cmake --build /home/developer/project/build --config Debug -- -j 6"
            ]
        }
    ]
}

也许当这个问题解决后,我可以使用更完整的解决方案:https://github.com/vector-of-bool/vscode-cmake-tools/issues/111