我目前有一个源文件,用C++编写,并被封装到Python模块中(使用Boost和PalSeSLIBS)。p>
我将C++文件夹移植到Go/Src和.so文件中,MIN .GO
课程结构
src
/main
main.go
network.so
/network
file1.cpp (this has a function **object DBdata::getTable())
file1.hpp (#define FILE1_H_)
main.go
package main
// #cgo pkg-config: python3
// #cgo CFLAGS : -I./ -I/usr/include/python3.6
// #cgo LDFLAGS: -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -L/usr/lib -lpython3.6 -lpthread -ldl -lutil -lm
// #include <Python.h>
import "C"
import "fmt"
func main() {
cmd := exec.Command("python", "-c", "import network; network.getTable()")
cmd.Dir = "/home/username/go/src/network" //directory where is my python code
out,err := cmd.CombinedOutput()
}
在构建这个main.go之后,我得到的错误是
/usr/include/boost/config/no_tr1/memory.hpp: fatal error: memory: No such file or directory > # include > ^~~~~~~~ > compilation terminated.
如何导入.so作为Go中的Python模块? 这个地方能用Swig吗
公开Python模块的更好方法是什么
问题已解决。.so放置在/bin中,Go是构建的,可以访问网络下的功能
相关问题 更多 >
编程相关推荐