Как добавить готовую библиотеку в решение VC ++? - PullRequest
0 голосов
/ 21 июня 2009

Довольно просто использовать библиотеку в VC ++ 2008, если вы создаете для нее проект и собираете его вместе с другими проектами в своем решении, но что если библиотека имеет слишком сложный процесс сборки и должна быть скомпилирована отдельно через make-файл

Моя библиотека такая, и, хотя у меня не было проблем с ее компиляцией в командной строке, я понятия не имею, что делать с результирующими заголовочными файлами и .lib-файлами. Я поместил их все в один каталог и добавил его путь к каталогам дополнительных включений моего основного проекта, поэтому он прекрасно находит заголовочные файлы. Я также добавил соответствующую информацию в Дополнительные библиотечные каталоги и Дополнительные зависимости.

Возможно, есть еще одна настройка, которую я забыл установить помимо этих трех? Я был бы признателен за всю помощь, которую я могу получить. Спасибо.

РЕДАКТИРОВАТЬ Вот синтаксические ошибки, которые я получаю:

http://pastebin.com/m72ece684

Ответы [ 3 ]

1 голос
/ 21 июня 2009

Хорошо, основываясь на этих ошибках, это не имеет ничего общего с поиском ваших .lib файлов, оно задыхается от заголовочных файлов.

Edit:

Похоже, что где-то в windows.h, есть определение макроса для X942_DH_PARAMETERS, которое нарушает ваш dl_group.h.

Вместо того, чтобы ставить свои ботанические заголовки сверху, но windows.h вверху, а затем прямо перед тем, как #include ботанические заголовки, добавьте эту строку:

#undef X942_DH_PARAMETERS

Или, как я только что обнаружил, этот макрос определен в wincrypt.h, и если вы добавите NOCRYPT в определения вашего препроцессора, он не будет включать этот файл. Поскольку вы используете стороннюю криптобиблиотеку, вам, вероятно, не нужен wincrypt.

0 голосов
/ 21 июня 2009

Для компилятора msvc вы можете добавить

#pragma comment(lib, "MYLIBNAME.lib")

в вашем заголовке. Это автоматически заставит компоновщик искать «MYLIBNAME.lib» в «Дополнительных каталогах библиотеки».

Если ошибка больше не возникает

  • Не могу найти заголовок ...
  • Не могу найти MYLIBNAME.lib

проблема, вероятно, связана с некоторыми другими вещами, такими как неправильное время выполнения C, несоответствие выпуска отладки, ...

P.S .: Если библиотека находится в дереве решений, просто устанавливая зависимость от библиотеки, заставит VS добавить целевой путь в папку lib и имя библиотеки в библиотеки.

0 голосов
/ 21 июня 2009

Хотя я не могу точно сказать, в чем ваша проблема, я могу дать несколько советов о том, как найти решение. Я предлагаю создать простую библиотеку, содержащую один метод и один класс, собрать ее, а затем попытаться успешно связать ее с вашим проектом. Когда вы сделаете это в меньшем масштабе, попробуйте повторить шаги с вашей оригинальной библиотекой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...