由于NLopt非线性优化库网评非常好,作为编程小白,课题组程序用的C++,编译器是VS,为了找到好用且依赖项不多,引用简单的优化库,觉得这个还可以。但是好的库都是基于Linux或者使用CMake跨平台编译,为了使用这玩意浪费一周时间,终于搞好了。特此想记录下来,希望对那些编程小白,希望使用VS引用的人会有帮助。
文章结构如下:
-
本人电脑系统及软件配置
-
下载文件
-
文件介绍
-
生成lib链接库
-
CMake编译
-
引用配置及测试算例
看了很多博客,最后的测试程序是使用别人的,忘了是谁的了,有时间把链接放上,侵权了麻烦联系,写完已经废了,懒得动了。
这是编译完成后的压缩包,包裹所有过程以及最终版本,欢迎下载。CSDN不能免费,那就TB吧。
(有网友反映不能直接用,可能是因为环境变量没有设置,或者我的文件目录是绝对路径,最好自己做一遍,按照教程最多一晚上就可以了,不建议直接下载)
https://download.csdn.net/download/xingdu_/11889148
本人电脑系统及软件配置
本人电脑配置:Win10+VS2019+CMake(电脑版本win10,win7没验证过。VS使用的VS2019,使用你自己的VS版本就可以。我的VS安装在D盘,但是安装在C盘是最好的,找东西方便。CMake安装很简单就不介绍了)
下载文件
下载:NLopt+官方为C++编译的dll文件+pexports
(网址https://nlopt.readthedocs.io/en/latest/ + https://nlopt.readthedocs.io/en/latest/NLopt_on_Windows/ +
https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.47/)
如图所示:


下载完成之后,以我的电脑为例,在F盘下新建文件夹NLopt,将压缩包放进去,如图

按照顺序解压
1:多层压缩文件解压后文件夹F:\NLopt\pexports-0.47-mingw32-bin.tar\pexports-0.47-mingw32-bin\bin,最后得到pexports.exe文件
2:解压后得到nlopt-2.6.1子文件夹和pax_global_header文件,把nlopt-2.6.1子文件夹内的文件移动到跟目录下,将nlopt-2.6.1根目录命名为nlopt
3:解压
最终文件如下

最终的目录文件如下图所示:


文件介绍
生成lib链接库
所需文件:libnlopt.dll+pexports.exe
把pexports.exe文件放在bin下面,我的是:\VS\vs2019\VC\Tools\MSVC\14.22.27905\bin\Hostx64\x64,同时在环境变量中添加路径(我的电脑->属性->高级系统设置->高级->环境变量->系统变量->path->新建)。

&spm=1001.2101.3001.5002&articleId=102653703&d=1&t=3&u=bf12c42ee28549b48c704e82ba213090)
7050

被折叠的 条评论
为什么被折叠?



