将Python服务器连接到后端C++;
摘要:将Python服务器连接到后端C++;,python,c++,linker,g++,swig,Python,C++,Linker,G++,Swig,摘要: 我有一个服务器,使用的是BottlePy,它为我正在开发的应用程序提供了一个web界面。后端是用C++编写的,因为原始前端使用GTK+ 3编写。由于它是使用GTK+3编写的,前端有很多信号要发送到后端以触发后端功能。我想让我的Python服务器发送这些相同的信号到C++后端。 方法: 我不知道如何开始将脚本语言连接到C++,特别是动态请求和信令,所以我做了一些拨弄,我了解了。据我所知,SWIG创建了一个包装器/接口,作为Python和另一种语言(在我的例子中是C++)之间的“桥梁”。我按
我有一个服务器,使用的是BottlePy,它为我正在开发的应用程序提供了一个web界面。后端是用C++编写的,因为原始前端使用GTK+ 3编写。由于它是使用GTK+3编写的,前端有很多信号要发送到后端以触发后端功能。我想让我的Python服务器发送这些相同的信号到C++后端。 方法:
我不知道如何开始将脚本语言连接到C++,特别是动态请求和信令,所以我做了一些拨弄,我了解了。据我所知,SWIG创建了一个包装器/接口,作为Python和另一种语言(在我的例子中是C++)之间的“桥梁”。我按照教程连接Python模块,然后尝试运行服务器,但没有成功。
采取的步骤:
已将编译行从更改为:
g++-c$(CPPFLAGS)$^-o$@-rdynamic
致:g++-fPIC-c$^-o$@-rdynamic$(CPPFLAGS)
cppfagas
使用pkg config
为正在编译的文件生成依赖项。如果需要,我可以在这里提供更多细节。我跟着它走,这导致我将CPPFLAGS
移到行的末尾,因为我遇到了这个错误:ImportError:/path/to/file.so:未定义的符号:ZNK4Glib5Error4whatEv
我还添加了-fPIC
,我认为这是在收到一个共享库错误后添加的
为了设置共享库,我创建了一个.I
文件,正如上面链接的教程中所建议的那样。然后我运行了swig-python file.I
,然后是gcc-shared*object files*-o outfile.so
。最后,我在服务器文件中添加了一个import语句,并从导入的模块中添加了对相应函数的调用。当我试图运行服务器时,出现了上面提到的错误。问题:
-
<> LI>有没有其他方法将我的Python服务器链接到我的C++后端?
- 我的程序中有没有遗漏一步
- 当我的程序使用原始前端成功编译和运行时,为什么使用此方法会出现
引用未定义
错误
我发了一篇类似的帖子。
发布关于这个问题的帖子 提前谢谢