netgen/ngsolve在windows下编译

整体流程可参考Build on Windows — NGS-Py 6.2.2101 documentation (ngsolve.org)

本人是基于NGS6.2.2101、Python 3.9.1、VS2019,Cmake3.19.2完成编译。

需要注意的是:

1.cmake "../src" -DCMAKE_INSTALL_PREFIX="BASEDIR/install" -G "Visual Studio 15 Win64"可能会报错,可换成:cmake "../src" -DCMAKE_INSTALL_PREFIX="BASEDIR/install" -G "Visual Studio 16 2019" -A x64,我安装的是VS2019,所以用了Visual Studio 16 2019。

2.全过程中可能会报错的地方还有:

  -- Could NOT find LAPACK (missing: LAPACK_DIR)
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
  ModuleNotFoundError: No module named 'pybind11_stubgen'
  CMake Warning at python/CMakeLists.txt:15 (message):
    pybind11-stubgen not found, if you want to create stub files

    for better autocompletion support install it with pip.


  -- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
  Sphinx not found, if you want to build the documentation you have to install Sphinx

pybind11_stubgen和Sphinx比较好处理,可以直接在cmd下使用pip安装。

针对LAPACK_DIR,其实已经被下载下来了,只是没声明这个变量,可以通过修改src下的CMakeLists.txt文件解决。

3.如果还报错,如下:

建议打开build\netgen\SUPERBUILD.sln,在VS2019中编译Install,观察报错提示,一般还是确实Python包导致的,使用pip安装即可。

生成的完整文件会在build\BASEDIR\install\bin目录下,双击即可使用。

编译后的文件请参照我的资源:netgen/ngsolve编译后的文件-C++文档类资源-CSDN下载

因该文件需要系统有相关库文件支撑,若直接下载运行可能会出错。


补充的其他报错及解决方案:

1.Install的时候报错:

 

2>CMake Error at project_win_tcltk-stamp/project_win_tcltk-download-Debug.cmake:49 (message):
2>  Command failed: 1
2>
2>   'E:/Program Files/CMake/bin/cmake.exe' '-Dmake=' '-Dconfig=Debug' '-P' 'E:/SVN/ZSX/6_FEATool/BASEDIR_ngsolve-6.2.2101_Debug/build/netgen/dependencies/src/project_win_tcltk-stamp/project_win_tcltk-download-Debug-impl.cmake'
2>
2>  See also
2>
2>    E:/SVN/ZSX/6_FEATool/BASEDIR_ngsolve-6.2.2101_Debug/build/netgen/dependencies/src/project_win_tcltk-stamp/project_win_tcltk-download-*.log
2>
2>
2>E:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): error MSB6006: “cmd.exe”已退出,代码为 1。

 

打开日志文件会发现类似如下内容:

CMake Error at project_win_zlib-stamp/download-project_win_zlib.cmake:170 (message):

  Each download failed!

 

    error: downloading 'https://github.com/NGSolve/ngsolve_dependencies/releases/download/v1.0.0/zlib_win64.zip' failed

          status_code: 28

          status_string: "Timeout was reached"

          log:

          --- LOG BEGIN ---

          timeout on name lookup is not supported

    Trying 13.229.188.59:443...

 

  connect to 13.229.188.59 port 443 failed: Timed out

 

  Failed to connect to github.com port 443: Timed out

 

  Closing connection 0

 

          --- LOG END --

CMake Error at project_win_zlib-stamp/project_win_zlib-download-Release-impl.cmake:9 (message):

  Command failed (1):

 

   'E:/Program Files/CMake/bin/cmake.exe' '-P' 'E:/SVN/ZSX/6_FEATool/BASEDIR_ngsolve-6.2.2101/build/netgen/dependencies/src/project_win_zlib-stamp/download-project_win_zlib.cmake'

写的已经很清楚了,下载时报错,要么是你的电脑无法访问https://github.com/,要么是不支持SSL,如果不想查找原因,我的资源中有这个zip文件,可以自行下载,已设置0积分下载。

将https://github.com/NGSolve/ngsolve_dependencies/releases/download/v1.0.0/zlib_win64.zip路径换成我的资源的下载路径再次编译即可。因CSDN的加密下载链接有时效限制,最好改完后立刻编译,否则可能还是出现下载的错误。如果有其他好的站点可以在留言中告知我,谢谢!



 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D_ZSX

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值