使用Cygwin安装和使用IPopt - 甚至更好的替代方案?

问题描述 投票:0回答:1

我是优化领域的新手。虽然有些项目使用fmincon,现在正在寻找可在OpenSource中使用的替代方案,但最好在Python中以某种方式使用。因此我找到了IPopt。还有其他与fmincon同样好的建议吗?

我尝试通过编译来安装IPopt。我必须说,这似乎是一团糟。我尝试了所有版本,最终得到了手册中最有前途的一个“使用MSVC ++编译器安装Cygwin”。因此我必须安装CYGwin并更改make.exe。完成。将Visual Studio中的cl.exe(在我的案例中为Visual Studio 1)添加到Apth环境中。完成。将“call”调用“C:\ Program Files(x86)\ Microsoft Visual Studio 14 \ VC \ vcvarsall.bat”添加到cygwin.bat。完成。

现在有两件事。当我使用下载的IPopt源执行“./configure”时,我得到:“configure:error:/ bin / sh'./configure'Ipopt失败”

同样在手册中建议调用“./configure -enable-doscompile = msvc”告诉cygwin使用windows编译器给我“configure:error:--enable-doscompile = mscv不再支持。”

所以。基本上我无法安装Ipopt。使用它似乎是不可能的,因为构建它的所有其他方法也在我的Win10 64bit上失败了。似乎手册已经过时或者我没有找到完成它的核心方法,希望你们中的一些人可能会提供帮助。编译是一个相当新的东西,我很乐意学习。 Tahnks提前。

compilation cygwin ipopt
1个回答
0
投票

确保您在Cygwin中安装了以下软件包。

  • Devel:gcc
  • 德维尔:gfortran
  • 开发:pkg-config
  • Devel:颠覆
  • 存档:解压缩
  • Utils:补丁
  • Web:wget
  • Utils:dos2unix

假设您正在构建64位,请在Cygwin.bat中添加cl.exe路径(位于安装Cygwin的位置的根目录中),以便可以从Cygwin中使用msvc - call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat"(vcvarsall需要您指定架构版本) 您将需要英特尔Fortran编译器。它与Parallel Studio一起提供。免费为学生,教师,开源贡献者。 在.bash_profile(位于pathto/cygwin64/home/username/)添加此行,以便ifort识别msvc链接器(上面给出的路径应该是msvc的link.exe) - alias ifort='ifort -Qlocation,link,"C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64"' 英特尔Fortran集成到visual studio shell中。运行这个shell。从这个shell执行cygwin.bat。检查链接的版本(link --version)。如果它不是Microsoft链接器,您可能必须从Cygwin文件夹中删除Cygwin link.exe文件。 请注意,任何其他bash终端(例如Git Bash)可能会干扰。只有在运行configure脚本时才会知道。它试图从那些bash终端访问包。你可能不得不暂时把它们放在别处,所以cygwin找不到它们。 我知道您已经阅读了本手册,因此您必须已经下载了Ipopt所需的第三方工具(asl,lapck,blas和一个线性求解器)。 你现在可以运行(在Ipopt根文件夹中):

mkdir build  
cd build  
../configure --enable-msvc=MD  
make  
make  install
© www.soinside.com 2019 - 2024. All rights reserved.