失败 building/installing PyFMI 包在 64 位上 Windows 10

Failed building/installing PyFMI package on 64bit Windows 10

我已经使用 MinGW W64 成功构建了 FMILibrary。至少没有显示错误信息。在安装 PyFMI 时,我使用 gcc 编译器以及几个 visual studio 编译器都失败了。

这是我取消 mingw 编译器时命令行中的最后一条消息:

error: Command "gcc -g -DDEBUG -DMS_WIN64 -O0 -Wall -Wstrict-prototypes -DNPY_MINGW_USE_CUSTOM_MSVCR -D__MSVCRT_VERSION__=0x0900 -IC:\Python27\lib\site-packages\numpy\core\include -Isrc -Isrc\pyfmi -IC:\Users\Michael\Documents\Builds\install\include -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c src\pyfmi\fmi.c -o build\temp.win-amd64-2.7\Release\src\pyfmi\fmi.o -O2 -fno-strict-aliasing" failed with exit status 1

在操作退出之前,我收到了几个与此类似的不同错误:

src\pyfmi\fmi.c:82221:20: error: invalid application of 'sizeof' to incomplete type 'enum fmi1_status_kind_t'
         if (sizeof(enum fmi1_status_kind_t) < sizeof(long)) {

我也尝试用 visual studio 编译器编译 FMI 库,但是由于 vsnprintf 错误而失败。

考虑到我可能犯了一些愚蠢的错误,因为我从来没有手动编译过任何库。

感谢您的任何建议。

干杯, 迈克尔

嗯,我修好了。方法如下:

  1. 删除了最新的 Visual Studio 安装,在我的例子中是 2015 年。

  2. 已安装 Visual Studio ISO Express 2010。

  3. 已安装 Windows 来自 ISO 的 7 SDK。为避免 .NET 版本错误,我使用了安装文件夹中的 setupsdk 安装程序。 注意:确保您下载了 64 位版本的 SDK。

  4. 已安装 SP1 Visual Studio 10 编译器更新。

  5. 使用最新的 cmake 版本构建并安装了 FMI-Library。

  6. 创建了一个环境变量FMIL_HOME,以FMI-Library的安装路径为值。

  7. 为 Python 安装了 Visual C++ 编译器。

  8. 终于在windows命令行中使用命令pip install pyfmi安装了PyFMI。

这对我有用,也许我可以帮助别人解决这个问题。