0

一些背景故事:我正在尝试让 bolt-lmm 软件在 Windows 机器上编译,因为这将是我所在的研究小组的一个很好的补充。该软件的开发人员只使 linux 静态可执行,但是提供了源代码。我习惯用 R 或 python 编程,这是我第一次接触 C++。

我已经解决了一些问题,但由于某种原因,我无法让 Visual Studio 与Nlopt-2.4.2.

下载了它 并按照那里给出的步骤进行安装。

我可以告诉我已经做了同样的事情来将 Nlopt 库链接到项目中,如如何将其他库添加到 Visual Studio 项目中所述?

我仍然收到如下错误:

Error   LNK2019 unresolved external symbol __imp__nlopt_create referenced in function "public: __thiscall nlopt::opt::opt(enum nlopt::algorithm,unsigned int)" (??0opt@nlopt@@QAE@W4algorithm@1@I@Z)    boltCompiler    C:\Users\au483192\source\repos\boltCompiled\boltCompiler\NonlinearOptMulti.obj  1   

(这类错误一共12个,还有一个错误链接1120,刚好告诉我有12个未解决的永恒。)

我希望这是足够的信息来提供问题所在的提示。

4

1 回答 1

1

我做了更多的挖掘,似乎链接器需要的不仅仅是 .lib 文件的文件夹。

这篇文章总结了它: 在 Visual Studio 2010 上将静态库链接到我的项目

本质上,您只需要告诉链接器 lib 的位置和 .lib 文件的实际名称。

希望这将帮助那些忘记/不知道某些库可能需要手动添加库名称的其他人。

TL;DR:打开项目的配置属性>链接器>常规然后在“添加库目录”行中添加.lib文件的路径

然后(仍在配置属性中)转到链接器>输入将.lib文件名添加到“添加依赖项”行,例如libnlopt-0.lib(不要忘记用“;”分隔)

于 2019-03-04T12:30:57.190 回答