这两天想用fluent udf研究一下滑移网格和动网格,调试udf时遇到了include "ud_io1.h"错误。进行了如下过程调试,顺利解决问题。
系统和软件配置如下:
主要调试udf.bat这个脚本文件,调试的时候在udf.bat中加了以下两个语句,
加入@echo on语句可以在udf.bat运行时显示执行过程信息,
加入pause语句可以在指定位置暂停。
set MSVC_DEFAULT=C:\Program Files (x86)\Microsoft Visual Studio 14.0
if exist "%MSVC_DEFAULT%\VC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env140
首先将上面udf.bat的语句改成下面形式
@echo on
set MSVC_DEFAULT=C:\Program Files (x86)\Microsoft Visual Studio 14.0
if exist "%MSVC_DEFAULT%\VC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
pause
if not "%MSVC%" == "" goto msvc_env140
运行udf.bat,如果没有出错会显示以下信息。
C:\Program Files\ANSYS Inc\v221\fluent\ntbin\win64>set MSVC_DEFAULT=C:\Program Files (x86)\Microsoft Visual Studio 14.0
C:\Program Files\ANSYS Inc\v221\fluent\ntbin\win64>if exist "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" set MSVC=C:\Program Files (x86)\Microsoft Visual Studio 14.0
出错了,就调整C:\Program Files (x86)\Microsoft Visual Studio 14.0这一段,可能是空格问题。
上面通过以后,在udf.bat后面:msvc_env140这个地方再加了一个puase暂停,如下所示。
:msvc_env140
set MSVC_VERSION=140
call "%MSVC%\VC\vcvarsall.bat" x86_amd64
pause
goto ms_c_end
这一步调试udf.bat时,出现以下错误:
“ Cannot determine the location of the VS Common Tools folder ”。
根据https://blog.csdn.net/Marble_ccp/article/details/105317745这个帖子,在系统中加了下面所示的一个环境变量。
Path=C:\Windows\System32
然后,调试udf.bat不再出错。
删掉udf.bat中添加的@echo on和pause语句,
打开fluent编译udf,udf编译成功。