如何将旧的 Fortran/VS 程序集成到新产品中?

How do I integrate old Fortran/VS program into the new products?

提问人:Christopher Tokar 提问时间:11/13/2023 最后编辑:Vladimir F Героям славаChristopher Tokar 更新时间:11/13/2023 访问量:48

问:

我正在尝试帮助一个使用 Fortran/C++ 编写的项目。它是使用 ComposerXE-2011 和 Visual Studio 11.0 在本机计算机上编译的。我已经安装在我的家用计算机上,我正在尝试使用此 Visual Studio 2022 和 Fortran Compiler 2023.2.1.7。该程序的工作方式是代码有一个 GUI,然后他们创建了一个命令行脚本,该脚本运行所有文件并使用专有 GUI 所做的更改重新编译程序。我尝试更改他们提供的 setenv.cmd 文件中的命令行环境引用,并根据我调用的 vars.bat 文件获得三个错误之一。

错误一:LNK1104:无法打开文件 ifconsol.lib 错误二:LNK2001:未解析的外部符号_printf(也___iob_func) 错误三:架构错误,目标是 x86

我没有太多使用这些语言进行编码的经验,我只知道如何从 GUI 代码构建器中获取我想要的东西,然后运行脚本进行重新编译。我一直在办公室这样做,我希望能够在家中处理其中的一些工作。感谢您的协助!

这是当前的setenv.cmd,为了保护项目和专有程序而进行了一些清理

所有 (Drive 等) 都是路径名和驱动器号,没有 ()。

@set S3BASE=(Drive and Root)
@set S3BIN=%S3BASE%\bin\ia32
@set S3_BIN=%S3BASE%\bin
@set S3_HOME=(Drive and Root)
@set S3_ENV=(Drive and Root)\s3env
@set S3_ODS=(Drive and root)\ods
@set MBINS=(Drive\Folder\Program)\mbin;(Drive\Folder\Program)\mbin\ia32;
@set path=%path%;(Drive and Root);%S3BIN%;%S3_BIN%;%MBINS%;(Drive\Folder\Program)\jre\bin;B:\rktools\bin;B:\Alias
@set include=%include%;%S3BASE%\include;
@set include=%include%;(Drive And Dependency)\API\Windows\USBDisplayApi\Header;(Drive and Dependency)\API\Windows\hidapi
@set path=%path%;(Drive and Dependency)\API\Windows\USBDisplayApi\Release
@if NOT %COMPUTERNAME%==(Project Name) (
@REM CALL "C:\Program Files (x86)\Intel\ComposerXE-2011\bin\ifortvars.bat" ia32
@REM CALL "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"
@CALL "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\vsdevcmd\ext\vcvars.bat" x86
@CALL "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" ia32
)
visual-studio linker-errors intel-fortran

评论


答: 暂无答案