我已经使用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错误而失败。
考虑一下我可能做了一些愚蠢的错误,因为我从来没有手动编译过任何库。
我很感激任何建议。
干杯, 迈克尔
答案 0 :(得分:1)
好吧,我修好了。方法如下:
删除了最新的Visual Studio安装,在我的案例2015中。
从ISO。
从ISO安装的Windows 7 SDK。为避免.NET版本错误,我在setup文件夹中使用了setupsdk安装程序。 注意:确保您下载了64位版本的SDK。
为Visual Studio 10安装了SP1编译器更新。
使用最新的cmake版本构建和安装FMI-Library。
使用FMI-Library的安装路径作为值,设置环境变量FMIL_HOME。
安装了Visual C ++编译器Python版。
最后在windows命令行中使用命令pip install pyfmi安装了PyFMI。
这对我有用,也许我可以帮助别人。