代码抽离记录
2025年10月16日
代码抽离记录
近期从Fortran项目中抽离了部分代码,由原来支持的Linux系统更换为Windows系统,期间遇到一些问题,在此做部分记录,以便后续复现。
环境:Windows 11 + VS2019 + Intel OneAPI (IFX Compiler)
Fotran中使用Include命令
项目>属性>Fortran>Preprocessor>Preprocess Source File=Yes(/fpp)Fotran中使用base.c代码 (编译为base.obj)
打开x64 Native Tools Command Prompt for VS 2019, 运行cl /c base.c内存溢出
项目>属性>Linker>System>Stack Reserve Size=67108864HDF5和NetCDF4(Fotran版本)在Windows下的编译
注意
- 需要事先下载预编译版本(C) 和 项目源码(Fortran)!
- 以下命令在
Intel oneAPI command prompt for Intel 64 for Visual Studio 2019中运行! - 项目路径不要有中文和空格!
# 检查命令是否存在 ifort --version cmake --version # 若缺少cmake可在官网下载其exe文件 nmake /? # 编译hdf(Fotran版本) call "D:\VS2019\VC\Auxiliary\Build\vcvars64.bat" cmake -G "NMake Makefiles" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX=E:\netcdf\hdf5-fortran ^ -DCMAKE_Fortran_COMPILER=ifort ^ -DHDF5_BUILD_FORTRAN=ON ^ -DBUILD_SHARED_LIBS=OFF ^ -DHDF5_ENABLE_Z_LIB_SUPPORT=ON ^ E:\netcdf\hdfsrc # 编译netcdf(Fotran版本) cmake -G "NMake Makefiles" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX="E:\netcdf\netcdf-fortran" ^ -DCMAKE_Fortran_COMPILER=ifort ^ -DNetCDF_C_INCLUDE_DIR="E:\netcdf\netCDF 4.9.3\include" ^ -DNetCDF_C_LIBRARY="E:\netcdf\netCDF 4.9.3\lib\netcdf.lib" ^ -DCMAKE_PREFIX_PATH="E:\netcdf\netCDF 4.9.3;E:\netcdf\hdf5\HDF5-1.12.3-win64" ^ ..