Visual Studio - библиотека stati c не связывается - PullRequest
0 голосов
/ 03 августа 2020

Я создал библиотеку stati c (обозначенную A) в Visual Studio, которая включает некоторые файлы заголовков из другой библиотеки (обозначенной B). Поскольку это библиотека stati c, мне не нужно было беспокоиться о файле .lib из A. Когда я создал консольное приложение (обозначенное C) и добавил файлы .lib и заголовки из B, а также заголовочные файлы и файлы .lib из A. Когда я пытаюсь скомпилировать C, возникают неразрешенные внешние элементы, не связанные с A, а с B.

Я создал еще два тестовых проекта, stati c библиотека и консольное приложение. Библиотека stati c по-прежнему использовала A, а консольное приложение по-прежнему использовало A и новую библиотеку stati c, и ей удалось нормально скомпилировать, даже без файлов заголовков A.

Я запускал несмотря на все различия, и я не вижу ничего, что могло бы остановить компиляцию C. Единственное отличие - это папка, в которой хранятся проекты. Я дважды проверил расположение файлов заголовков и файлов .lib, и все они есть. Как мне go исправить ошибки LNK2001?

РЕДАКТИРОВАТЬ: Я понял, что мой пост не имеет большого смысла, но когда я пытаюсь использовать свою библиотеку в другом проекте, он вообще не связывается, и я не вижу причины, почему.

1 Ответ

1 голос
/ 03 августа 2020

Чтобы связать с файлом .lib, вам просто нужно:

1, добавить путь к файлу заголовка в Дополнительные каталоги включения (свойство -> c / c ++ -> Общие -> Дополнительные включить Каталоги)

2, Добавьте путь к файлу .lib в Дополнительные каталоги библиотеки (свойство -> компоновщик -> Общие -> Дополнительные каталоги библиотек)

3, Добавьте имя .lib файл с расширением на Дополнительные зависимости (свойство -> компоновщик -> ввод -> Дополнительные зависимости)

Если эту проблему не удалось решить, я предлагаю вам обратиться к Do c: Ошибка средств компоновщика LNK2001

...