在64位Windows 10上构建/安装PyFMI软件包失败

时间:2016-04-09 10:54:14

标签: python c cmake mingw-w64 fmi

我已经使用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 个答案:

答案 0 :(得分:1)

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

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

  2. 从ISO。

  3. 安装Visual Studio Express 2010
  4. 从ISO安装的Windows 7 SDK。为避免.NET版本错误,我在setup文件夹中使用了setupsdk安装程序。 注意:确保您下载了64位版本的SDK。

  5. 为Visual Studio 10安装了SP1编译器更新。

  6. 使用最新的cmake版本构建和安装FMI-Library。

  7. 使用FMI-Library的安装路径作为值,设置环境变量FMIL_HOME。

  8. 安装了Visual C ++编译器Python版。

  9. 最后在windows命令行中使用命令pip install pyfmi安装了PyFMI。

  10. 这对我有用,也许我可以帮助别人。