编译Windows PostgreSQL 9.5 64位C语言函数
我想在
Windows上为PostgreSQL 9.5 64位创建本机C扩展.
我希望用MinGW-w64构建它们,如果可能的话,让我的构建链尽可能干净.但我使用的是PostgreSQL的EnterpriseDB版本,而MinGW版本则崩溃了. 如果我可以在这个商业项目中使用另一个免费的编译器也没关系. 我知道如何使用Visual Studio 2003 Express,但由于许可证问题,这似乎不是一个解决方案. 解决方法
除主要答案外
在article linked below中,您可以读到可以使用Mingw或Cygwin编写C模块,以及一些有关相同的指南.但是我强烈反对这样做,主要是因为下面列出的原因,并且因为该页面提到那些Windows配置有特殊需求并且接受比大多数更轻的测试;期望更多的构建问题发生 以下是类Unix平台的完整摘录:
重要的是要知道不同的编译器彼此不兼容.它们每个都有不同的运行时库.因此,除了用于构建您正在使用的软件的编译器之外,使用不同的编译器编译扩展是非常危险的. Postgresql的Windows构建使用Visual Studio,与EnterpriseDB相同(据我所知).您将需要使用相同的编译器来构建扩展. (欲了解更多信息,请参阅:Building and Installing PostgreSQL Extension Modules和Postgres Enterprise Manager Installation Guide – EnterpriseDB (PDF)) 这可以解释为什么使用Mingw-w64编译的扩展崩溃. 幸运的是,您可以选择两种解决方案: >使用Microsoft Visual Studio Community.个人开发者完全免费,但对企业有限制.它应该为Postgresql构建编译适当的模块. 做其中任何一项都可以帮到你.这也适用于所有平台,语言和其他软件.如果要为软件构建扩展,则需要在用于构建所用软件的同一平台上使用相同的编译器. 因此,如果您想在Linux上为Postgresql构建扩展,则需要相同的编译器(可能是GCC)来构建扩展. 快乐编码=) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-phone-7 – 是否可以在Windows Phone应用程序提交中
- windows – 反向DNS查找
- winapi – Windows API:保证窗口收到的第一条消息是什么?
- windows – 如何重写历史记录以删除git中的可执行位
- windows – 您是否可以使用WMI来确定连接是否从DHCP获取其D
- Windows – 使用VMWare归档旧计算机会导致激活问题
- windows-server-2008-r2 – 带vmware转换器的P2V Server 20
- libusb_open在Windows 7上返回’LIBUSB_ERROR_NOT_SUPPORTE
- windows-7 – 本地计算机“受信任的根”证书的PrivateKey信
- 是否可以在没有窗口的情况下使用Windows Raw Input API(即从