如何解决Go buildmode选项不会生成头文件
我正在编写一个Python程序,可以在某些触发器上调用go程序。我正在关注一些links,并了解了生成.so和另一个标头(.h)文件的buildmode。我尝试添加两个整数示例,并且运行完美。但是,就我而言,没有生成头文件。
我正在使用的特定程序是一个修改后的示例,它连接到TTN(物联网),程序结构如下:
package main
import "C"
import (
// "encoding/hex"
// "encoding/json"
"fmt"
// "io/ioutil"
// "os"
ttnsdk "github.com/TheThingsNetwork/go-app-sdk"
ttnlog "github.com/TheThingsNetwork/go-utils/log"
"github.com/TheThingsNetwork/go-utils/log/apex"
"github.com/TheThingsNetwork/go-utils/random"
"github.com/TheThingsNetwork/ttn/core/types"
)
const (
sdkClientName = "my-amazing-app"
)
func main() {
log := apex.Stdout() // We use a cli logger at Stdout
log.MustParseLevel("debug")
ttnlog.Set(log) // Set the logger as default for TTN
...
...
}
如果尝试从一个简单的python程序调用,我将收到以下错误消息:
Loaded go generated SO library
Traceback (most recent call last):
File "ttnPublishCall.py",line 5,in <module>
result = lib.main()
File "/usr/lib/python3.7/ctypes/__init__.py",line 369,in __getattr__
func = self.__getitem__(name)
File "/usr/lib/python3.7/ctypes/__init__.py",line 374,in __getitem__
func = self._FuncPtr((name_or_ordinal,self))
AttributeError: ./publishOnly.so: undefined symbol: main
我已经尝试编写自定义头文件(提及主要功能),但是它不起作用。此外,我试图创建另一个可以从主函数调用但没有帮助的函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。