VSCode импорт "C" не выполняется на модулях - PullRequest
1 голос
/ 22 октября 2019

Пожалуйста, смотрите следующий снимок экрана:

vscode with golang import

Это говорит:

не удалось импортировать C (нет данных пакетадля пути импорта C)

Я приложил пример проекта, который воспроизводит ошибку, здесь: https://github.com/microsoft/vscode/files/3783446/example-project.zip

Я использую Go 1.13 с последними версиями каждого расширения для Goи C / C ++. Нет ошибки компилятора, и это, по-видимому, определенно изолируется как «проблема vscode».

Есть ли способ исправить эту проблему vscode?

Ответы [ 3 ]

1 голос
/ 28 октября 2019

Это ошибка в VSCode, и я написал среднюю статью для этой проблемы.

https://medium.com/@mourya.g9/setting-up-confluent-kafka-client-for-golang-with-vscode-7a27bb94220b. Надеюсь, это поможет.

1 голос
/ 31 октября 2019

Это ошибка в gopls инструменте, распространяемом в официальных пакетах golang.

Вот ссылки на вопросы:


информация из отчета о проблеме:

internal/lsp: use Go/cgo source files instead of generated files

Using CompiledGoFiles was causing metadata lookups to fail for cgo
packages because it includes generated files in the Go build cache
when the built-in 'go list' driver is used.  GoFiles includes both
Go and cgo original file names, allowing metadata lookups to
succeed.

0 голосов
/ 22 октября 2019

Проблема заключается в дополнительной новой строке между импортом, вы можете попробовать следующее:

// #cgo CFLAGS: -g -Wall
// #include <stdio.h>
// #include <stdlib.h>
// #include <string.h>
// #include "cutils.h"
import "C"
import (
    "bufio"
    "encoding/json"
// ...
)

CGO import example Посмотрите здесь другой пример, связанный с CGO:
https://github.com/alessiosavi/GoUtils/blob/master/GoUtils.go

...