Я не могу найти конкретный ответ на этот вопрос. Я возился с библиотекой драйверов Cuda, которая использует Cgo. Конечно, на Windows установлен инструментарий Cuda и CUDA_PATH
переменная создается. Я хотел бы иметь возможность вызывать этот путь из файла CGO, а не писать абсолютный путь.
Например:
#cgo windows LDFLAGS:-L${CUDA_PATH}/x64
по сравнению с #cgo windows LDFLAGS: -LC:/cuda/v8.0/lib/x64
Поэтому я попытался использовать синтаксис Windows %CUDA_PATH%
и синтаксис Bash $CUDA_PATH
/${CUDA_PATH}
и это не похоже на работу. Я знаю, что отчасти проблема в том, что cgo работает от компилятора gcc, который, вероятно, принимает синтаксис bash вместо странного синтаксиса Windows, но я также нахожусь в файловой системе Windows.
Я не сомневаюсь, что вызов переменной пути будет хорошо работать на Linux-машине или на OSX, но я не смог заставить ее работать на Windows. Мне нужно знать, возможно ли использовать переменные окружения Windows в комментариях cgo или мне нужно продолжать использовать абсолютный путь? И если это возможно, как мне поступить? Нужно ли что-то добавить в Cygwin или есть более элегантное решение?
Задача ещё не решена.
Других решений пока нет …