编译前需要先检测gcc,g++命令在当前环境是否可用,否则运行go build会报一些莫名其妙的问题,函数未定义,没有可供编译的go源码文件,建议采用msys2下mingw64里的gcc,g++命令
//todo
//todo
#cgo windows CXXFLAGS:xxxx
#cgo linux xxxxxxxx
#cgo amd64 xxxxxx
/*
#cgo CXXFLAGS: -std=gnu++14 -v
#include "mixin.h"
#include <stdlib.h>
*/
import "C"
-v打印详细输出信息,用于排查错误
go build -buildmode=exe
package main
/*
#include <stdlib.h>
*/
import "C"
//export func_name
func func_name(outPath *C.char)C.int {
//pass
}
func main() {
// Need a main function to make CGO compile package as C shared library
}
set GOOS=windows&& set GOARCH=amd64&& go build -ldflags "-s -w" -buildmode=c-shared -o build/export.dll api/api.go
声明:转载请注明出处,原文地址:shlu's note