UDF编译出错,久久不能解决,在网上查阅了很多解决办法,均不能凑效,直到看到天乐树的博文“ANSYS FLUENT 12.x 13.x版下使用Visual Studio 2010编译UDF的设置方法”,终于设置成功。但是在读此博文的时候其实也遇到了一点小问题,我结合我的设置经历和大家分享一点经验,希望大家少走弯路。我用的是FLUENT 16.0和VS2010。
找到fluent安装目录下的udf.bat(C:\Program Files\ANSYS Inc\v121\fluent\ntbin\win64\udf.bat)
用文本编辑器修改udf.bat:
添加
echo trying to find MS C compiler, version 10.0....
set MSVC_DEFAULT=%ProgramFiles(x86)%\Microsoft Visual Studio 10.0
if exist "%MSVC_DEFAULT%\vC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env100
set MSVC_DEFAULT=%ProgramFiles%\Microsoft Visual Studio 10.0
if exist "%MSVC_DEFAULT%\vC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env100
:msvc_env100
set MSVC_VERSION=100
call "%MSVC%\VC\vcvarsall.bat" amd64
goto ms_c_end (添加了这段)
注:如果Visual Studio安装到其他盘,(可能)需要修改路径,比如装到D盘Program Files下,便这样添加:
set MSVC_DEFAULT=d:\Program Files\Microsoft Visual Studio 10.0(这儿其实容易理解错,红色部分应该是自己设置的安装路径,比如我的安装路径是D:\programfiles\VS2010(programfiles是我在D盘建的一个文件夹,VS2010是我自己建的安装Microsoft Visual Studio2010的文件夹),那么这个语句应该是
set MSVC_DEFAULT=D:\programfiles\VS2010)
if exist "%MSVC_DEFAULT%\VC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env100
:msvc_env100
set MSVC_VERSION=100
call "%MSVC%\VC\vcvarsall.bat" amd64
goto ms_c_end
我觉得我说的应该简单易懂了,祝大家顺利解决问题。