VS2017配置Ipopt-基于Windows环境

news2024/11/26 19:23:47

文章目录

  • 1、 背景
  • 2、 配置流程
  • 3、测试
  • THE END

1、 背景

\qquad 本科研狗最近手头有个非线性规划模型需要求解,因为Ipopt是一款开源的NLP求解器,所以想要使用一下下。于是直接搜Ipopt官网,果然令人惊喜地列出了安装教程,但对于Windows用户就十分不友好了。
\qquad 所以去Github上看,找到了官方开出的动静态链接库和源码【遂狂喜】,这比官网列出的安装一堆东西之后自己编译要省事省力多了。有兴趣的小伙伴可以按照官网操作试试,估计1,2天搞不通… …
在这里插入图片描述

2、 配置流程

\qquad 其实这东西只要了解程序运行原理,学过动静态库的生成和连接,其实很快就可以搞定。在这里列出一些操作步骤和注意事项。

  • 首先从Github上下载Asset中的四个文件,前两个中包含releasedebug模式下的库文件和头文件,后两个是源码(这两个好像一样,下一个好像也可以)
  • 下面以-md(release 模式下)的配置为例介绍。
  • 解压Ipopt-3.14.12-win64-msvs2019-md,之后包含下述文件:
    在这里插入图片描述
  • 新建一个VS空项目之后,右键单击项目之后选择属性→调试→环境:
    在这里插入图片描述
    \qquad 这里的环境填入PATH=Ipopt-3.14.12-win64-msvs2019-mdbin文件夹的地址, e.g., PATH=E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md
  • 之后选择C++→常规→附加包含目录:
    在这里插入图片描述 \qquad 这里的附加包含目录填入Ipopt-3.14.12-win64-msvs2019-mdinclude\coin-or文件夹的地址, e.g., E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md\include\coin-or
  • 之后选择链接器→常规→附加库目录,将静态库的地址填入
    在这里插入图片描述
    \qquad 这里的附加库目录填入Ipopt-3.14.12-win64-msvs2019-mdlib文件夹的地址, e.g., E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md\lib
    - 之后选择链接器→常规→输入→附加依赖项,将静态库文件输入,
    在这里插入图片描述
    \qquad 这里的附加库目录填入Ipopt-3.14.12-win64-msvs2019-mdlib文件夹下所有静态库文件, e.g.,
E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md\lib\coinmumps.dll.lib
E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md\lib\ipopt.dll.lib
E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md\lib\ipoptamplinterface.dll.lib
E:\ipopt\Ipopt-3.14.12-win64-msvs2019-md\Ipopt-3.14.12-win64-msvs2019-md\lib\sipopt.dll.lib

\qquad 至此,配置结束!下面测试一下。

3、测试

\qquad 将公Github下载的源码解压,找到examples\Cpp_example文件夹中的cpp示例文件:
在这里插入图片描述
\qquad .cpp.hpp文件拷贝到VS工程里面,之后运行,可以得到下图所示的结果。
在这里插入图片描述
\qquad 说明配置成功,可以测试NLP模型啦~~

THE END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年五月份图形化一级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

混合办公现在还“吃香”吗?未来发展趋势如何?

在疫情期间,时不时就听到的“居家办公”新闻也在疫情放开后鲜少看到了。在疫情期间,呼声极高的混合办公、远程办公似乎也随着疫情的放开而“销声匿迹”了。 难道是,因疫情而生的混合办公,也最终因疫情放开而“死”了?在…

力扣刷题——搜索插入位置

目录 1、题目描述 2、题目分析 3、答案解析 1、题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1:…

webAPI学习笔记2(DOM事件高级)

1. 注册事件&#xff08;绑定事件&#xff09; 1.1 注册事件概述 给元素添加事件&#xff0c;称为注册事件或者绑定事件。 注册事件有两种方式&#xff1a;传统方式和方法监听注册方式 传统注册方式 利用 on 开头的事件 onclick <button οnclick“alert(hi~)”><…

【文献篇】国家法律法规数据库提供免费的文献下载功能

【文献篇】国家法律法规数据库提供免费的文献下载功能 不用登录、不用注册、点击即可免费下载word、PDF等版本&#xff01;&#xff01;&#xff01; 比网上随便找、复制粘贴、还需要格式更改、担心完整性、准确性等问题省心N倍&#xff01;&#xff01;&#xff01;—【蘇小…

中国国际金融展开幕 蚂蚁集团数字化三件套产品升级更易用

4月25日&#xff0c;2023中国国际金融展(以下简称“金融展”)在北京开幕。本次展会以“荟萃金融科技成果&#xff0c;展现数字金融力量”为主题&#xff0c;突出科技创新为金融带来变革。上百家参展商展示了行业最新科技成果。 记者看到&#xff0c;在蚂蚁集团展区就展示了十几…

QT Graphics View 绘图架构之场景、视图与图形项简介

1、场景、视图与图形项 采用QPainter 绘图时需要在绘图设备的 paintEvent()事件里编写绘图的程序&#xff0c;实现整个绘图过程。这种方法如同使用 Windows 的画图软件在绘图&#xff0c;绘制的图形是位图&#xff0c;这种方法适合于绘制复杂性不高的固定图形&#xff0c;不能…

供应商竞争情报分析工具 —— 全国招投标查询API

引言 招投标是一项非常重要的商业活动&#xff0c;涉及政府采购、建筑工程、物资采购等众多领域。招投标活动的开展需要广泛的信息支持&#xff0c;包括招标公告、中标结果、项目动态等各种信息。然而&#xff0c;由于信息分散、更新速度慢等原因&#xff0c;用户往往难以及时…

实景区剧本杀系统开发

实景区剧本杀系统开发需要考虑以下几个方面&#xff1a; 场地选取&#xff1a;选择合适的场地&#xff0c;足够容纳游戏人数和游戏内容&#xff0c;同时需要考虑安全性和便利性。 剧情设定&#xff1a;根据场地和游戏类型设计剧情&#xff0c;包括人物角色、任务目标、…

优思学院|精益管理的理念是什么?

作为一个企业&#xff0c;我们都希望拥有高效率和优异的竞争力。但是&#xff0c;如何才能在竞争激烈的市场中脱颖而出&#xff1f;这时&#xff0c;精益管理理念的出现可以帮助我们。 精益管理的基本概念是什么&#xff1f; 精益管理的核心理念是通过消除浪费来实现生产效率…

【WCH】CH32F203基于内部RTC时钟+I2C SSD1306 OLED显示

【WCH】CH32F203基于内部RTC时钟SSD1306 OLED显示 &#x1f4cc;相关篇《STM32F103基于标准库I2C SSD1306仿数码管RTC时钟显示》 ✨CH32F203的内部时钟频率&#xff1a;40KHz &#x1f516;基于Keil开发环境 &#x1f4dc;基于SDK中的RTC示例修改为内部时钟源&#xff0c;串…

详解C语言string.h中常用的14个库函数(三)

本篇博客继续讲解C语言string.h头文件中的库函数。本篇博客计划讲解3个函数&#xff0c;分别是&#xff1a;strstr, strtok, strerror。其中strstr函数我会用一种最简单的方式模拟实现。 strstr char * strstr ( const char * str1, const char * str2 );strstr可以在str1中查…

电脑怎么远程控制另一台电脑

要从一台电脑远程控制另一台电脑&#xff0c;您可以使用远程桌面软件。 以下是远程控制另一台电脑的步骤&#xff1a; 一、在两台电脑上安装远程桌面软件 有多种远程桌面软件可用&#xff0c;例如 Splashtop、微软远程桌面。 在远程电脑和本地电脑上分别安装软件。访问各自软…

MQ集群(rabbitMQ)

普通集群: 创建过程 我们先在之前启动的mq容器中获取一个cookie值&#xff0c;作为集群的cookie。执行下面的命令&#xff1a; docker exec -it mq cat /var/lib/rabbitmq/.erlang.cookie 可以看到cookie值如下&#xff1a; EFLYOBKNYFETSAXOUEYI 接下来&#xff0c;停止…

中级软件设计师备考---操作系统和计算机网络

【因为我自己是软件工程专业毕业的学生&#xff0c;所以408里的这两门课都比较熟悉&#xff0c;因此这一部分只放一些我印象不是完全深刻的知识。】 目录 操作系统前驱图与PV操作死锁的预防与避免绝对路径和相对路径缺页中断的某种练习题 计算机网络网络规划与设计特殊含义的I…

Jenkins Kubernetes

Kubernetes集成Harbor Harbor 私服配置 在Kubernetes的master和所有worker节点上加上harbor配置&#xff0c;修改daemon.json&#xff0c;支持Docker仓库&#xff0c;并重启Docker。 sudo vim /etc/docker/daemon.json {"registry-mirrors": ["https://jrabv…

Talk预告 | 北京大学刘博UCL冯熙栋-TorchOpt,一个高效的可微优化库

本期为TechBeat人工智能社区第490期线上Talk&#xff01; 北京时间4月13日(周四)20:00&#xff0c;北京大学智能科学与技术研究助理—刘博和伦敦大学学院 &#xff08;UCL&#xff09; 计算机博士生—冯熙栋的Talk将准时在TechBeat人工智能社区开播&#xff01; 他们与大家分…

【具体到每一步】从0制作一个uniapp的新闻类页面(界面篇)

目录 项目初始化 / 基础配置 项目创建 配置路由/页面/tabbar pages.json配置tabbar 配置图标/静态资源 导航栏和字体颜色 scroll-view实现横向滚动条样式 公共模块定义components组件 新建组件 使用组件 组件里的结构 布局个人中心页面 组件差异化处理 数据传递 导航…

【角色用例图讲解】

角色用例图讲解 一、 用例图的定义及组成要素二、参与者与用例的4种关系三、 常用的用例图软件 我是将军我一直都在&#xff0c;。&#xff01; 一、 用例图的定义及组成要素 用例图是编写需求说明时经常用到的需求表达方式&#xff0c;用于向开发、测试同事说明需求中用户与系…

【机智云物联网低功耗转接板】+模拟无线远程控制仪表启停

GE211 是机智云自研的定制化的物联网转接板&#xff0c;使用 ESP32-C3-WROOM-02 通讯模块&#xff0c;适用于白色智能家电等设备应用。硬件设计上采用支持 WiFi 和 BLE 的双模无线通信模块&#xff0c;具备TTL电平转换串口&#xff0c;免开发快速接入&#xff0c;提高开发效率。…