Связывание ... ССЫЛКА: фатальная ошибка LNK1181: не удается открыть входной файл 'libgsl.a' - PullRequest
2 голосов
/ 28 июня 2010

Я использую код алгоритма SIFT Роб Хесс , который использует библиотеку OpenCV в Windows. И у меня есть Visual Studio 2008 в качестве IDE. Когда я запускаю программу для сопоставления изображений с Debug в качестве конфигурации решения в VS Нет проблем, все работает отлично. Но когда я изменяю конфигурацию решения на выпуск, выдается ошибка компоновки.

Ошибка:

Linking ... LINK: фатальная ошибка LNK1181: не удается открыть входной файл 'libgsl.a'

Может кто-нибудь объяснить мне причину и сказать, как решить эту проблему.

Спасибо

Ответы [ 2 ]

4 голосов
/ 29 июня 2010

Наконец нашел его

Да, мне не хватало некоторых библиотек.libgsl.a поставляется в gsl-пакете GnuWin32.Это можно загрузить с sourceforge .В отображаемом списке есть каталог с именем gsl.Я скачал gsl-1.8-lib.zip и распаковал его в C: \ GnuWin32 на своем компьютере.

Затем я включил библиотеку в Visual Studio.Вот шаги, которые я нашел на этой веб-странице .Хотя это часть неудачной попытки (согласно оригинальному сообщению), она очень хорошо работает для меня

  1. В VisualStudio перейдите в File-> New-> Project, затем "Visual C ++Проекты », затем« Win32 », затем« Консольное приложение Win32 ».Введите имя и нажмите «ОК».На следующем экране нажмите «Готово».

  2. В «Обозревателе решений» щелкните правой кнопкой мыши имя вашего проекта и выберите «Свойства».

  3. В разделе «Свойства конфигурации» -> «Линкер» -> «Общие» -> «Дополнительные каталоги библиотеки» введите «C: \ GnuWin32 \ lib»

  4. «Свойства конфигурации» -> «Линкер»Ввод-> Дополнительные зависимости, введите «libgslcblas.a libgsl.a»

  5. В свойствах конфигурации-> C / C ++ -> Общие-> Дополнительные каталоги включения, введите «C:\ GnuWin32 \ include "

  6. В разделе" Свойства конфигурации "-> C / C ++ -> Генерация кода -> Библиотека времени выполнения выберите" Многопоточная DLL "

Теперь работает нормально.Спасибо за каждого, кто попробовал

1 голос
/ 28 июня 2010

возможно, вы забыли настроить пути к библиотекам в конфигурации выпуска.

...