Как добавить файлы C в подкаталог как часть сборки go, используя псевдодирективы CGO?

Согласно документам, go build с cgo добавит любые файлы C/C++ в корень пакета как часть компиляции. Есть ли способ сделать файлы C/C++ в заданном подкаталоге также частью компиляции, а также файлы в корне, используя директивы CGO?


person pepper_chico    schedule 05.03.2015    source источник
comment
если это поможет, в go1.5 будет более простой способ использовать относительный путь для связывания stackoverflow.com/questions/28037827/   -  person JimB    schedule 05.03.2015
comment
@JimB Да, это приятно знать.   -  person pepper_chico    schedule 05.03.2015


Ответы (1)


Не совсем. Единственный вариант, который у вас есть, — это сделать подкаталог еще одним пакетом Go, но тогда вам придется обернуть все необходимые функции в экспортированные функции Go и импортировать их в свой проект.

Компиляция файлов C/C++ удобна для выполнения основных требований, но что-то более сложное потребует отдельной сборки исходного кода и предоставления соответствующих директив CGO для компоновки. Цепочка инструментов Go не предназначена для использования в качестве полноценного инструмента сборки.

person JimB    schedule 05.03.2015