gpt4 book ai didi

c++ - 在 Windows cmd 提示符下工作时设置 NLOpt

转载 作者:太空宇宙 更新时间:2023-11-04 13:29:58 25 4
gpt4 key购买 nike

我正在从 Windows cmd 提示符下编写一个 c++ 程序,并使用 mingw (g++) 进行编译。这个程序需要一个非线性优化器,NLOpt 看起来是个不错的选择。我是学c++的uni类(class),所以我使用的环境已经搭建好了,我没有搭建库等的经验。

到目前为止我的步骤是;

  1. here 下载适用于 64 位 Windows(这是我正在运行的)的预编译 DLL。

  2. 运行命令dlltool --input-def libnlopt-0.def --dllname libnlopt-0.dll --output-lib libnlopt-0.lib(来自same page) ,它运行没有错误。

这会创建一个 .hpp 文件,但是,当我尝试 #include 我得到的文件时

In file included from optimiseDogs.cc:9:0:
C:\Files|Development\NLOpt2.4.2\nlopt.hpp:29:19: fatal error: nlopt.h: Nosuch file or directory
#include <nlopt.h>

nlopt.hnlopt.hpp 位于同一目录中。我的程序在不同的文件夹中。 image of folder setup

这可能真的很基础,很抱歉打扰您。也许我并不完全孤单,这也会对其他人有所帮助。此外,我已经看到 this question ,但它涉及在 visual basic 上安装,我没有使用 GUI,只使用 notepad++ 和 cmd 提示符。

感谢您的帮助。

最佳答案

如果您在 windows 中并使用 mingw:下载的 zip 存档已经包含 .dll.lib文件。所以你不需要运行 dlltool.def 创建这些 .lib, .dll。我认为您的问题是使用 g++ 添加包含和库路径指令来编译命令。

C:\Files\Development\NLOpt2.4.2>g++ <path_of_source>.cc -o program.exe -L. -lnlopt -lm -I. -I<path_of_your_headers>

我过去遇到过 -I-L 的顺序可能很重要,所以如果不起作用请尝试更改。请看this tutthat tut理解这个概念。

关于c++ - 在 Windows cmd 提示符下工作时设置 NLOpt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31895788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com