Python SIP暴露函数

发布于 2024-10-31 05:28:43 字数 733 浏览 1 评论 0原文

我正在使用 SIP 为一些 C++ 代码编写 Python 模块。然而,虽然我可以轻松地公开类,但我找不到公开独立函数的方法。

下面是我的头文件,定义了我希望向 Python 公开的函数:ProxySettings.h

#include <Windows.h>
#include <Wininet.h>

bool SetConnectionOptions(const char * proxy_full_addr);
bool DisableConnectionProxy();

这是迄今为止我对 SIP 文件的尝试:ProxySettings.sip。当前运行的sip.exe生成C++代码没有任何问题,但是当我编译它时,编译器抱怨缺少标识符SetConnectionOptionsDisableConnectionProxy

%Module ieproxy 0

bool SetConnectionOptions(const char * proxy_full_addr);
bool DisableConnectionProxy();

我认为我必须使用指令将 ProxySettings.h 头文件包含到我的 SIP 文件中,但我不确定要使用什么指令。用于类的 %TypeHeaderCode 不能仅与函数一起使用。

有人有什么建议吗?

I'm writing a Python module for some C++ code using SIP. However whilst I can easily expose classes, I cannot find a way to expose standalone functions.

Here is my header file defining the functions that I wish to expose to Python: ProxySettings.h

#include <Windows.h>
#include <Wininet.h>

bool SetConnectionOptions(const char * proxy_full_addr);
bool DisableConnectionProxy();

And here is my attempt at my SIP file so far: ProxySettings.sip. Currently running sip.exe generates C++ code with no problems, but when I come to compile it, the compiler complains about missing identifiers SetConnectionOptions and DisableConnectionProxy.

%Module ieproxy 0

bool SetConnectionOptions(const char * proxy_full_addr);
bool DisableConnectionProxy();

I think that I have to use a directive to include the ProxySettings.h header file into my SIP file, but I am not sure what directive to use. %TypeHeaderCode which is what you use for a class doesn't work with just a function.

Does anyone have any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

-黛色若梦 2024-11-07 05:28:43

试试这个:

%Module ieproxy 0  

%UnitCode
#include <ProxySettings.h>
%End

bool SetConnectionOptions(const char * proxy_full_addr); 
bool DisableConnectionProxy(); 

Try this:

%Module ieproxy 0  

%UnitCode
#include <ProxySettings.h>
%End

bool SetConnectionOptions(const char * proxy_full_addr); 
bool DisableConnectionProxy(); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文