在编译运行时时无法禁用优化

时间:2018-04-24 11:18:59

标签: go visual-studio-code

当我在Ubuntu 16.10中使用VSCODE编译我的go项目时,它无法成功并提示:

compile: cannot disable optimizations while compiling runtime
exit status 2
Process exiting with code: 1

我检查了我的launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "remotePath": "",
            "port": 2345,
            "host": "127.0.0.1",
            "program": "${fileDirname}",
            "env": {
                "GOPATH":"/home/bill/test/go",
                "GOROOT":"/usr/local/go"
            },
            "args": [],
            "showLog": true
        }
    ]
}

我该怎么做才能改变这个?

1 个答案:

答案 0 :(得分:0)

此错误消息似乎来自Go编译器,因为this更改修复了this bug (“compile:”前缀显然是由vscode添加的。)

我对原因的看法如下:

  1. 在您开始遇到当前问题之前,您已经以某种方式修改了Go运行时源代码。
  2. 尝试构建程序会检测到运行时已更改 并且还需要重建 - 因为它的一部分包含在内 进入使用Go构建的任何程序。
  3. 至于如何解决这个问题,我并不清楚。 据说正在运行

    $ cd /usr/local/go/src
    $ ./make.bash
    

    应该这样做。

    在旁注中,您不能设置GOROOT env。变量 请亲自将它留在Go套房;从很多版本开始, 它根据GOROOT二进制文件的位置自动知道其go 位于。