visual-studio - 如何在 Windows 中构建 glpk 时修复错误
问题描述
我正在尝试构建 glpk 以在 VS2019 中使用,但我遇到了一个无法解决的问题。在 Build_GLPK_with_VC9.bat 文件中,我将目录更改为包含文件 vcvars64.bat 的文件夹,但是在编译时出现以下错误消息:
[vcvarsall.bat] 环境初始化为:'x64'
该系统找不到指定的路径。
该系统找不到指定的路径。
有人知道如何解决这个问题吗?我在管理员模式下执行 .bat,但错误消息仍然存在。
编辑 这是 glpk 提供的原始 .bat 文件:
rem Build GLPK with Microsoft Visual Studio Express 2008 and
rem Windows Software Development Kit (SDK) for Windows Server 2008
rem NOTE: Make sure that HOME variable specifies correct path.
set HOME="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC"
call %HOME%\bin\vcvars64.bat
copy config_VC9 config.h
%HOME%\bin\nmake.exe /f Makefile_VC9 all
%HOME%\bin\nmake.exe /f Makefile_VC9 check
pause
这是具有所需路径的同一个文件:
rem Build GLPK with Microsoft Visual Studio Express 2008 and
rem Windows Software Development Kit (SDK) for Windows Server 2008
rem NOTE: Make sure that HOME variable specifies correct path.
set HOME="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"
call %HOME%\Auxiliary\Build\vcvars64.bat
copy config_VC9 config.h
%HOME%\bin\nmake.exe /f Makefile_VC9 all
%HOME%\bin\nmake.exe /f Makefile_VC9 check
pause
文件 Makefile_CV9 包含
# Build GLPK with Microsoft Visual Studio Express 2008 and
# Windows Software Development Kit (SDK) for Windows Server 2008
CFLAGS = /I. /DHAVE_CONFIG_H /nologo /W3 /MT /O2
OBJSET = \
..\src\glpapi01.obj \
..\src\glpapi02.obj \
..\src\glpapi03.obj \
..\src\glpapi04.obj \
..\src\glpapi05.obj \
..\src\glpapi06.obj \
..\src\glpapi07.obj \
..\src\glpapi08.obj \
..\src\glpapi09.obj \
..\src\glpapi10.obj \
..\src\glpapi11.obj \
..\src\glpapi12.obj \
..\src\glpapi13.obj \
..\src\glpapi14.obj \
..\src\glpapi15.obj \
..\src\glpapi16.obj \
..\src\glpapi17.obj \
..\src\glpapi18.obj \
..\src\glpapi19.obj \
..\src\glpavl.obj \
..\src\glpbfd.obj \
..\src\glpbfx.obj \
..\src\glpcpx.obj \
..\src\glpdmp.obj \
..\src\glpdmx.obj \
..\src\glpfhv.obj \
..\src\glpgmp.obj \
..\src\glphbm.obj \
..\src\glpini01.obj \
..\src\glpini02.obj \
..\src\glpios01.obj \
..\src\glpios02.obj \
..\src\glpios03.obj \
..\src\glpios04.obj \
..\src\glpios05.obj \
..\src\glpios06.obj \
..\src\glpios07.obj \
..\src\glpios08.obj \
..\src\glpios09.obj \
..\src\glpipm.obj \
..\src\glpipp01.obj \
..\src\glpipp02.obj \
..\src\glplib01.obj \
..\src\glplib02.obj \
..\src\glplib03.obj \
..\src\glplib04.obj \
..\src\glplib05.obj \
..\src\glplib06.obj \
..\src\glplib07.obj \
..\src\glplib08.obj \
..\src\glplib09.obj \
..\src\glplib10.obj \
..\src\glplib11.obj \
..\src\glplib12.obj \
..\src\glplpf.obj \
..\src\glplpp01.obj \
..\src\glplpp02.obj \
..\src\glplpx01.obj \
..\src\glplpx02.obj \
..\src\glplpx03.obj \
..\src\glplpx04.obj \
..\src\glplpx05.obj \
..\src\glplpx06.obj \
..\src\glplpx07.obj \
..\src\glplpx08.obj \
..\src\glplpx09.obj \
..\src\glpluf.obj \
..\src\glplux.obj \
..\src\glpmat.obj \
..\src\glpmpl01.obj \
..\src\glpmpl02.obj \
..\src\glpmpl03.obj \
..\src\glpmpl04.obj \
..\src\glpmpl05.obj \
..\src\glpmpl06.obj \
..\src\glpmps01.obj \
..\src\glpmps02.obj \
..\src\glpnet01.obj \
..\src\glpnet02.obj \
..\src\glpnet03.obj \
..\src\glpnet04.obj \
..\src\glpnet05.obj \
..\src\glppds.obj \
..\src\glpqmd.obj \
..\src\glprgr.obj \
..\src\glprng01.obj \
..\src\glprng02.obj \
..\src\glpscf.obj \
..\src\glpscg.obj \
..\src\glpscl.obj \
..\src\glpspm.obj \
..\src\glpspx01.obj \
..\src\glpspx02.obj \
..\src\glpsql.obj \
..\src\glpssx01.obj \
..\src\glpssx02.obj \
..\src\glptsp.obj
.c.obj:
cl.exe $(CFLAGS) /I..\include /Fo$*.obj /c $*.c
all: glpk.lib glpsol.exe
glpk.lib: $(OBJSET)
lib.exe /out:glpk.lib ..\src\*.obj
glpsol.exe: ..\examples\glpsol.obj glpk.lib
cl.exe $(CFLAGS) /Feglpsol.exe ..\examples\glpsol.obj glpk.lib
check: glpsol.exe
.\glpsol.exe --mps ..\examples\plan.mps
解决方案
您只需要找到“vcvars64.bat”和“nmake.exe”的确切路径。我遇到了同样的问题,这对我有用:
rem Build GLPK with Microsoft Visual Studio Express 2008 and
rem Windows Software Development Kit (SDK) for Windows Server 2008
rem NOTE: Make sure that HOME variable specifies correct path.
set HOME="c:\Program Files (x86)\Microsoft Visual Studio"
call %HOME%\2019\Community\VC\Auxiliary\Build\vcvars64.bat
copy config_VC9 config.h
%HOME%\2019\Community\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x64\nmake.exe /f Makefile_VC9 all
%HOME%\2019\Community\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x64\nmake.exe /f Makefile_VC9 check
pause
推荐阅读
- mysql - MySQL innoDB 获得有效的行数
- javascript - 全局变量问题,函数回调时,变量没有变化
- r - Knit to PDF 卡在 auto.arima 函数中
- ios - 按钮构造函数似乎不允许局部变量
- python - 如何将 contextmanager 和 asynccontextmanager 合并为一个装饰器?
- css - 有没有办法阻止 Visual Studio 代码自动格式化多个选择器?
- r - 按没有日期的时间过滤数据
- python - web2py - 选择数据库
- algorithm - 将数组拆分为 2 的时间复杂度是多少
- vue.js - 如何使用 moment.js 通过 vue.js 格式化日期?