jiangwj 发表于 2016-4-8 09:46

FLUENT UDF Win7 64位系统出现编译错误的处理方法

  "nmake"不是内部命令或外部命令,也不是可运行程序
  Opening library "libudf"...
  Error: open_udf_library: 系统找不到指定的文件。
  刚刚配了一台新机器,装上了各种64位的软件,在导入UDF的时候,发生了上述的错误。找了很多网上的资料,都没有解决。按照常规的建议修改了环境变量之后,即加入 include、path、lib三个环境变量并根据所说编辑好环境变量值之后只能解决nmake不是内部命令或外部命令的问题,根本无法解决第二个系统找不到指定文件的问题。终于在网上看到了一位大神所述,按照其述仔细设置之后,问题解决。笔者装的是VS2010,其实和下文所述的变量设置没有太大区别,只是9.0改成了10.0,其中A6.0变成了A7.0,Microsoft SDKs在Microsoft programfiles x86中,只需搜索即可找到。为了能让更多网友找到有效解决方式,特摘大神建议如下:
  这几天在64位windows系统下装fluent,使用UDF编译时碰到各种错误,花了一天功夫,终于基本解决,贴上来跟大家分享下
  1、exceed无法安装 exceed版本太低,不支持64位系统,使用exceed 11或更高级版本;
  2、编译时出现'nmake' is not recognized as an internal or external command 没有安装VC或者装了但环境变量没有设置好。安装Visual Studio 2008(2010和2005应该也行),安装时选择完全安装,实在空间不够,就选自定义安装,其中64位编译器一定要勾上。安装完成后设置环境变量(参考了傲雪论坛的gearboy的方法)
  (1)、按以下顺序点击:开始—程序—Fluent Inc products——Fluent 6.3.26,运行该菜单下的 Set Enviroment;
  (2)、(如果第一次安装Visual Studio就选择了完全安装,这步可以省略,只要安装完成后启动下Visual Studio即可)右击“我的电脑”——属性——高级——环境变量,在这个菜单下,上方是用户变量,下方是系统变量,现在修改用户变量。
  新建一个变量命名为“Include”,在Variable values中粘贴以下部分(具体目录按照自己电脑安装情况可能需要修改,如果Visual Studio安装在默认目录下,则直接粘贴): C:Program FilesMicrosoft SDKsWindowsv6.0AInclude;C:Program Files (x86)Microsoft Visual Studio 9.0VCatlmfcinclude;C:Program Files (x86)Microsoft Visual Studio 9.0 VCinclude
  按同样的方法增加变量如下
  Lib
  C:Program FilesMicrosoft SDKsWindowsv6.0ALibx64;C:Program Files (x86)Microsoft Visual Studio 9.0VCatlmfclibamd64;C:Program Files (x86)Microsoft Visual Studio 9.0 VClibamd64
  Libpath C:WINDOWSMicrosoft.NETFramework64v3.5;C:WINDOWSMicrosoft.NETFramework64 v2.0.50727;C:Program Files (x86)Microsoft Visual Studio 9.0 VCatlmfclibamd64;C:Program Files (x86)Microsoft Visual Studio 9.0VClibamd64
  Path
  c:fluent.incntbinwin64;C:Program Files (x86)Microsoft Visual Studio 9.0
  VCbinamd64;C:WINDOWSMicrosoft.NETFramework64v3.5;C:WINDOWSMicrosoft.NETFramework64v3.5Microsoft .NET Framework 3.5
  SP1;C:WINDOWSMicrosoft.NETFramework64v2.0.50727;C:Program Files (x86)Microsoft Visual Studio 9.0VCvcpackages;C:Program Files (x86)Microsoft Visual Studio 9.0Common7 IDE;C:Program Files (x86)Microsoft Visual Studio 9.0Common7Tools;C:Program FilesMicrosoft SDKsWindowsv6.0ABinx64;C:Program FilesMicrosoft
  SDKsWindowsv6.0ABin;
  注:32系统可以安装6.0版本的VC,安装时选择“注册环境变量”即可,这样比较省事 3、经过第2步的处理后,nmake的错误没了,但出现stdout等三个宏被重定义的问题按理不应该有这种错误,我目前没有很好的解决方法。但它不影响编译,可以无视,如果嫌烦,可以把 Visual Studio中定义那三个宏的头文件修改下,找到那三个宏,把它们变成注释(不要删除,方便恢复 )。
  4、编译时,build不会报错,但是load时说找不到libudf的路径用以下方法启动Fluent:点击开始——程序——Microsoft Visual Studio 2008——Visual Studio Tools——Visual Studio 2008 x64 Win64 命令提示 点击后出现DOS的窗口,直接输入Fluent图标右键属性中的路径,然后回车 (如果是多机并行运算出现这个错误,注意要把放case的文件夹和fluent的安装目录设置为共享)
  5、单核运算时编译正常,但单机多核并行运算时出错打开第四步的窗口后,切换盘符和目录,直到进入到放case文件与UDF程序的目录,然后再运行fluent -tx,x为要使用的CPU数量。
  表示对原文作者无限感激!
转自:http://blog.sina.com.cn/s/blog_708637950102vad3.html

页: [1]
查看完整版本: FLUENT UDF Win7 64位系统出现编译错误的处理方法