【问题标题】:Failed building/installing PyFMI package on 64bit Windows 10在 64 位 Windows 10 上构建/安装 PyFMI 包失败
【发布时间】:2016-04-09 10:54:13
【问题描述】:

我已经使用 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 错误而失败。

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

感谢您的任何建议。

干杯, 迈克尔

【问题讨论】:

    标签: python c cmake mingw-w64 fmi


    【解决方案1】:

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

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

    2. 从 ISO 安装 Visual Studio Express 2010。

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

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-05
      • 2017-04-07
      • 2012-11-15
      • 2011-12-03
      • 2017-07-28
      • 2020-02-25
      • 2017-12-19
      • 2016-07-30
      • 2017-04-10
      相关资源
      最近更新 更多