Многочисленные OpenSSL «C3861: .. идентификатор не найден», когда включен заголовок с объявлениями - PullRequest
0 голосов
/ 02 апреля 2020

В настоящее время я добавляю ftp-функциональность в проект через эту библиотеку . Его одна необязательная зависимость - OpenSSL , которая добавляет более специфичные c функции шифрования, которые я ищу. Позже я собрал оба, и собрал, и установил, и добавил в качестве дополнительных включений / зависимостей, которые соответствуют этому ответу . Однако всякий раз, когда я go собираю свой проект, любой вызов функций или макросов OpenSSL считается «идентификатором не найден» (единственное место, к которому они обращаются, это ftplib. cpp).

В попытках решить эту проблему:

  • Я изменил путь включения на абсолютный (что не должно иметь значения, поскольку соответствующая переменная окружения уже включена в «Дополнительные каталоги включения» проекта.)
  • Я перестроил все решение (которое в любом случае состоит только из одного проекта) для регенерации любых предварительно скомпилированных заголовков.
  • Я дважды проверил, что все идентификаторы можно найти в заголовке ssl.h в комплекте.
  • Проверил, что OpenSSL не использует пространства имен.
  • Предварительно обработал нарушение файл , который содержит , содержит объявления этих идентификаторов (как видно из заголовка ssl.h )!
  • Я успешно скомпилировал / собрал предварительно обработанный исходный файл, хотя не отладка с жалобой на отсутствующую dll.

Этот последний тест говорит мне, что, по идее, все должно работать? Если у кого-то есть идеи или идеи, я буду очень признателен!

1 Ответ

1 голос
/ 02 апреля 2020

Как указано в комментариях, проблема заключается в том, что программа не может найти openssl-библиотеку. Одним из решений является статическая привязка его к программе.

В ответ на ваш комментарий вполне может быть, что ваша IDE знает, где находится библиотека, но не ваша программа. Попробуйте добавить его в переменную PATH или поместить в тот же каталог, где находится скомпилированная программа.

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