我已经安装了解析C代码的pycparser。
使用pycparser我想解析一个开源项目,即PostgreSQL(version-11.0)。我已经使用Visual Studio Express 2017编译器套件构建了它。但是,在编译期间,它找不到某些头文件,即windows.h
和winsock2.h
。
在查看构建PostgreSQL的目录结构时,我发现它没有这些头文件。如何解决此问题?
还发生了一个奇怪的错误:
postgresql / src / include / c.h:363:2:错误:#error必须正常工作 64位整数数据类型
注意:我正在使用Windows 10 64位平台和postgresql-11.0
步骤如下:
我按照在PostgreSQL中从源代码构建的步骤中的说明下载了Visual Studio 2017,Windows-10 SDK,Active Perl。
此后,我打开Visual Studio的开发人员命令提示符,并导航到文件夹postgresql-11.0/src/tools/msvc
使用命令“ build”来构建PostgreSQL。构建过程成功,但是在PostgreSQL的目录结构中仍然找不到windows.h
和winsock2.h
。
答案 0 :(得分:0)
我不了解pycparser,但是您的问题可能有两个方面:
您没有给pycparser正确的包含目录列表。您提到的头文件不属于PostgreSQL。
也许您可以从Visual Studio提示符环境中获取列表。我没有Windows可以验证。
该错误消息表示未定义mDatabase.child("Reviews").child(uniqueId).child("anyValue").setValue(valueYouWant);
和HAVE_LONG_INT_64
。
现在HAVE_LONG_LONG_INT_64
(在MSVC安装过程中复制到pg_config.h.win32
)具有以下内容:
pg_config.h
由于您未使用MSVC,可能未设置#if (_MSC_VER > 1200)
#define HAVE_LONG_LONG_INT_64 1
#endif
,这会导致错误。
您可以定义_MSC_VER
,然后查看是否可以构建。
由于pycparser不是受支持的构建过程,因此本质上您处于紧要关头,因此您必须深入研究源代码并随时进行修复。如果不了解PostgreSQL的源代码和构建过程,您可能会走得太远。