0

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

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

我很感谢任何建议。

干杯,迈克尔

4

1 回答 1

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. 以 FMI-Library 的安装路径为值创建了一个环境变量 FMIL_HOME。

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

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

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

于 2016-04-10T11:38:53.303 回答