Intereting Posts
C Указатель и распределение памяти: массивы Realloc и передача указателя Работа с typedef enumsми в структурах и предотrotation предупреждений о смешивании типов while ((c = getchar ())! = EOF) Не заканчивается Указатель на собственную структуру в C Как получить указатель на часть исполняемого файла программы изнутри? (Может быть, с личностью) Почему я не могу использовать этот код для перезаписи строки? Как вызвать встроенную функцию (или метод) из кода C модуля расширения Python? что произойдет, если вы добавите большой int для плавания Значения хранимых массивов из пользовательских длин массивов Как дать подсказку gcc о количестве циклов C: Передача переменной количества аргументов из одной функции в другую У моего числа с плавающей запятой есть дополнительные цифры при печати Последний элемент двумерного массива строк, перезаписывающий предыдущие элементы массива Разница между массивом указателей на char и массивом указателей на int Файл заголовка C с растровыми шрифтами

Почему openssl / ssl.h содержит только относительный путь?

Я построил OpenSSL с помощью компилятора MSVC ++ 2013 Express, выполнив следующие действия:

  • Установка ActivePerl 5.16.3 отсюда .
  • Grabbing openssl-1.0.1e.tar.gz и извлечение его на C:\OpenSSL\Win64 .
  • Открытие «VS2013 x64 Cross Tools Command Prompt» и cd -ing в каталог, в котором я извлек архив.
  • Выполнение следующих команд:

      perl Конфигурирование VC-WIN64A
     мс \ do_win64a
     nmake -f ms \ ntdll.mak 

Это завершено без ошибок (соответствующие библиотеки DLL построены). Однако произошло что-то очень странное. Если я открою openssl/ssl.h , содержимое файла:

 ../../ssl/ssl.h 

Поскольку это, очевидно, не является допустимым C / C ++, я не могу скомпилировать любые приложения, зависящие от заголовков OpenSSL из-за проблемы выше. Что я сделал не так?

комментарий duskwuff был действительно правильным. Проблема заключалась в том, что 7-Zip неправильно извлекал символические ссылки в архиве. Решение заключалось в том, чтобы загрузить утилиту командной строки tar GnuWin32 и использовать ее для извлечения архива:

  tar -xvf openssl-1.0.1e.tar.gz 

Это не относится только к openssl/ssl.h Это касается почти всех файлов, которые я видел.

Я предполагаю, что эта информация используется при построении OpenSSL для генерации включенных файлов в папку include, упомянутую в make-файлах (для Windows это nt.mak или ntdll.mak).

Если вы создаете или создаете библиотеку, вы увидите в журнале, что файлы заголовков копируются в папку, указанную в make-файле, и там вы найдете файлы заголовков, которые будут выглядеть как действительные файлы заголовков C. Фактически вы используете эти сгенерированные файлы заголовков, а не файлы заголовков.

Он выглядит как шаблон для создания файлов заголовков.