在Windows上导出python AST符号

时间:2014-09-12 03:56:08

标签: python visual-studio cpython

我正在编写一个C应用程序,它利用Python的AST API在发出字节码之前转换Python代码表达式。我一直是POSIX的长期开发人员(目前是OS X),但我也希望学习如何将我的项目移植到Windows。

我在Python的build.bat目录中使用由PCBuild生成的静态库(.lib)。这些库的问题在于它们会以某种方式跳过Python/Python-ast.cPython/asdl.c中的符号。我需要为它们的AST构造函数使用这些API,但我不确定如何让Visual Studio导出它们。

我是否需要为静态库添加__declspec(dllexport)

编辑:我对POSIX平台上生成的静态库没有这个问题

1 个答案:

答案 0 :(得分:0)

好的,我想通了

我使用的是VS 2013,而Python的构建系统是为VS 2010设计的。

我最终重新定位了2013年的所有内容(包括对tix makefile的一个小修改),并按预期编译了所有非静态符号(AST和all)。

Python.org的官方预构建Windows库似乎仍然省略了AST符号。我不介意自己从源代码构建Python,但我认为官方版本应该打包整个shebang。