c - 正在链接...链接: fatal error LNK1181: cannot open input file 'libgsl.a'

标签 c visual-c++ linker-errors

我正在使用 Rob Hess 的 SIFT 算法代码它在 Windows 中使用 OpenCV 库。我使用 Visual Studio 2008 作为 IDE。当我在 VS 中运行以“调试”作为解决方案配置的图像匹配程序时,没有问题,一切正常。但是当我将解决方案配置更改为发布时,它会出现链接错误。

错误是:

Linking... LINK : fatal error LNK1181: cannot open input file 'libgsl.a'

谁能解释一下原因并告诉我如何解决这个问题。

谢谢

最佳答案

终于找到了

是的,我缺少一些库。 libgsl.a 位于 GnuWin32 gsl 包中。可以从sourceforge下载。显示的列表中有一个名为 gsl 的目录。我下载了gsl-1.8-lib.zip并将其解压到我的计算机中的C:\GnuWin32。

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

  1. 在 VisualStudio 中,转到"file"->“新建”->“项目”,然后转到“Visual C++ 项目”, 然后是“Win32”,然后是“Win32 控制台应用程序”。输入名称并单击“确定”。 在下一个屏幕上单击“完成”。

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

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

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

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

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

现在一切正常。感谢每一位尝试过的人

关于c - 正在链接...链接: fatal error LNK1181: cannot open input file 'libgsl.a' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3132680/

相关文章:

c++ - Visual Studio 2010转换2005解决方案(C++项目)丢失项目依赖

c - 具有灵活数组成员的结构体的 “Array”

java - 通过取消设置最右边的位来计算奇偶校验

c - 如何使用位操作找到第 5 位,并返回整数中 1 位的数量

visual-c++ - CMFCTabCtrl 捕捉制表符更改事件

c++ - header 中结构数组的链接器错误

c# - 签名不兼容互操作 - 从 c# 调用 c 方法

c++ - visual studio 2012 中的 initializer_list

ios - ios 中体系结构 x86_64 的 undefined symbol

iphone - 架构i386的 undefined symbol :“_ OBJC_CLASS _ $ _ GDataDateTime”,引用自: