首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从C++调用Python,如何消除‘-W-原型’警告?

如何从C++调用Python,如何消除‘-W-原型’警告?
EN

Stack Overflow用户
提问于 2014-06-23 15:32:19
回答 1查看 1.5K关注 0票数 4

我正在尝试从C++调用python函数。我编写了一个简单的main.cpp文件和和helloworld.py,如下所示:

main.cpp:

代码语言:javascript
复制
int main(int argc, char* argv[])
{
    Py_Initialize();
    PyRun_SimpleString("import sys");
    PyRun_SimpleString("sys.path.append('./')");

    PyObject *pModule = PyImport_ImportModule( "helloworld" );

    PyObject *pFunc = PyObject_GetAttrString(pModule, "say_hello_world");

    PyEval_CallObject(pFunc, NULL);

    Py_Initialize();
}

helloworld.py:

代码语言:javascript
复制
def say_hello_world():
    print( "Hello World from Python" )

我用以下方法编写程序:

g++ python-config --cflags main.cpp python-config --ldflags -o main

因此,除了收到以下警告外,一切正常:

cc1plus:警告:命令行选项‘-’对于C/ObjC有效,但对默认启用的C++无效。

这是什么原因?有办法摆脱它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-23 15:59:46

编写一个脚本gccflags-filter,过滤出对给定语言不合适的标记。例如

代码语言:javascript
复制
  python-config --cflags | gccflags-filter --lang=c++

可以从文档中提取标志列表。

如果您现在需要针对您的特定问题采取权宜之计,请考虑如下

代码语言:javascript
复制
 g++ `python-config --cflags | sed s/-Wstrict-prototypes//`
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24369812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档