#visual-c #linker #static-libraries #static-linking
#visual-c #компоновщик #статические библиотеки #статическое связывание
Вопрос:
Мне действительно сложно правильно связать файл .lib с моим консольным приложением C Win32. Вот моя проблема.
Так же, как и в этой статье MSDN, я разработал файл MathFuncsLib.lib.
http://msdn.microsoft.com/en-us/library/ms235627(v=vs.80).aspx
Затем в консольном приложении MyExecRefsLib Win32 я хочу создать ссылку на вышеупомянутый файл. Итак, внутри папки MyExecRefsLib (той же папки, где находится файл .sln) Я создал каталог под названием «LibraryFiles» и разместил оба файла MathFuncsLib.lib И MathFuncsLib.h.
Затем в Properties-> Linker-> Input я добавил как «MathFuncsLib.lib», так и «MathFuncsLib.h» (без полного пути), а затем в Properties-> Linker-> Дополнительные каталоги библиотеки я добавил путь к моей папке «LibraryFiles», что мне советует сделать практически КАЖДЫЙ поток в Интернете, посвященный этой проблеме.
Но теперь это выдает мне следующую ошибку:
неустранимая ошибка C1083: не удается открыть включаемый файл. ‘MathFuncsLib.h’: такого файла или каталога нет.
Что я делаю не так? Пожалуйста, помогите. Обратите внимание, что мой код точно такой же, как в приведенной выше ссылке MSDN.
Комментарии:
1. Добавили ли вы папку, в которой находится этот файл .h, в «дополнительные включаемые каталоги»?
2. @Sach (этот параметр можно найти в разделе свойства-> свойства конфигурации-> C / C )
3. Дополнительно проверьте написание имени файла заголовка. Если вы используете относительный путь, будьте осторожны, вы начинаете с проекта using. Если вы используете $(SolutionDir) в имени пути, вы будете использовать другой (относительный) путь.
4. Спасибо за быстрый ответ, ребята. Я раньше этого не делал, поэтому сделал то, что вы сказали, но все равно это выдает мне точно такую же ошибку. (Я запустил очистку, а затем перестроил.)
5. @harper Я не думаю, что правильно вас понял. Не могли бы вы, пожалуйста, уточнить еще раз?
Ответ №1:
Чтобы связать с .lib-файл, вам просто нужно:
- щелкните правой кнопкой мыши на названии проекта, выберите Свойства
- в разделе Свойства-> свойства конфигурации-> C / C -> Общий пункт «другие включаемые каталоги» добавьте путь к вашему файлу .h
- в разделе Свойства-> Компоновщик-> Ввод добавьте путь и имя вашего .файл библиотеки
И это все.