【问题标题】:Problems linking Nlopt-2.4.2 in visual studio 2017在 Visual Studio 2017 中链接 Nlopt-2.4.2 的问题
【发布时间】:2019-07-25 16:47:25
【问题描述】:

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

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

downloaded it 并按照那里给出的安装步骤进行操作。

我可以说我已经按照How to add additional libraries to Visual Studio project? 中的描述将 Nlopt 库链接到项目中做了同样的事情

我仍然收到如下错误:

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个未解决的永恒。)

我希望这些信息足以提供问题所在的提示。

【问题讨论】:

  • 你能分享一下nlopt文件的包含声明吗?

标签: c++ visual-c++ linker nlopt


【解决方案1】:

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

这篇文章总结了它: Linking a static library to my project on Visual Studio 2010

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-06-15
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多