链接...链接:致命错误LNK1181:无法打开输入文件'libgsl.a'

时间:2010-06-28 13:19:52

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

我使用的是Rob Hess的SIFT算法代码,它在Windows中使用OpenCV库。我将visual studio 2008作为IDE。当我运行用于图像匹配的程序,其中Debug作为VS中的解决方案配置没有问题,一切正常。但是,当我将解决方案配置更改为发布时,它会产生链接错误。

错误是:

  

链接... LINK:致命错误LNK1181:无法打开输入文件'libgsl.a'

有人可以解释我的原因并告诉我如何解决这个问题。

谢谢

2 个答案:

答案 0 :(得分:4)

终于找到了它

是的我错过了一些图书馆。 libgsl.a包含在GnuWin32 gsl包中。这可以从sourceforge下载。显示的列表中有一个名为gsl的目录。我下载了gsl-1.8-lib.zip并将其解压缩到我电脑中的C:\ GnuWin32。

接下来,我将库包含在Visual Studio中。以下是我从this webpage找到的步骤。虽然这些都是不成功尝试的一部分(根据原始帖子),这对我来说非常有效

  1. 在VisualStudio中,转到File-> New-> Project,然后转到“Visual C ++ Projects”。 然后是“Win32”,然后是“Win32控制台应用程序”。输入名称,然后单击“确定”。 在下一个屏幕上,单击“完成”。

  2. 在“解决方案资源管理器”中,右键单击项目名称然后转到 “属性。”

  3. 在配置属性 - >链接器 - >常规 - >其他库目录下, 输入“C:\ GnuWin32 \ lib”

  4. 在配置属性 - >链接器 - >输入 - >附加依赖项下,键入 在“libgslcblas.a libgsl.a”

  5. 在配置属性 - > C / C ++ - > General->其他包含目录下, 输入“C:\ GnuWin32 \ include”

  6. 在配置属性 - > C / C ++ - >代码生成 - >运行时库中,选择 “多线程DLL”

  7. 现在工作正常。感谢所有尝试过的人

答案 1 :(得分:1)

也许您忘记在Release配置中设置lib路径。