在 Visual Studio Code for macOS 上使用 Docker 编译C++

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

本文关键字:Docker 编译 C++ macOS Visual Studio Code for      更新时间:2023-10-16

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

我想建立一个可以跨平台的开发环境(特别是对于macOS)

现在,我使用:

  • Visual Studio Code:我喜欢这个编辑器,它是跨平台的。
  • CMake:我是新手,但我想学习。
  • Docker
  • 有以下几点:我也是Docker的新手
    • arm-linux-gnueabihf-g++-4.8 作为编译器
    • 图书馆:如波科

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

另外,我尝试在我的Docker映像上安装Visual Studio Code,但它有点迟钝,并且我的键盘无法正常工作。

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

最后,我对Visual Studio Code任务使用"解决方法">

{
// 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