Я уже понимаю, что так никто не делает, но мне все таки интересно сделать именно так.
Не собирать библиотеку в бинарный файл под конкретную IDE/компилятор, под конкретную ОС, с конкретными параметрами и зависимостями, а подключить к проекту именно исходные файлы библиотеки, ведь в них содержится вся реализация, правильно ??
Здравствуйте, Optimus1, Вы писали:
O>Естественно — этого не достаточно, а VS выдает ошибку "ссылка на неразрешённый внешний символ __imp__curl_easy_init в функции _main."
И CURL_STATICLIB вы естественно задефайнели?
Re[2]: Подключение исходных файлов к проекту - на примере Li
Здравствуйте, kov_serg, Вы писали:
_>Здравствуйте, Optimus1, Вы писали:
O>>Естественно — этого не достаточно, а VS выдает ошибку "ссылка на неразрешённый внешний символ __imp__curl_easy_init в функции _main." _>И CURL_STATICLIB вы естественно задефайнели?
#define CURL_STATICLIB — сделал, но ошибка — "ссылка на неразрешённый внешний символ curl_easy_init в функции _main." — остается, но в данном случае без "__imp__".
То есть компилятор реализацию функции все равно не находит, вопрос, а, как понять, где он ее ищет ?
Здравствуйте, qaz77, Вы писали:
Q>Здравствуйте, Optimus1, Вы писали: O>>-Создал свой проект в VS2019 и добавил туда все хедер файлы из папки libcurl/include.
Q>Еще надо .c файлы добавлять, в них реализация.
Q>У curl куча вариантов сборки с разными реализациями SSL. Q>Замучаетесь свой VS-проект лепить. Q>Где-то я брал когда-то готовый vcxproj для lib и curl.exe.
Q>UPD: Вспомнил. В папке curl projects/Windows/VC*
Спасибо! Нашел, есть такой. Но, не могу понять, как его в проект добавить ? Он, то открывается, и там представлена куча исходных .h и .c файлов, но как это все в проект добавить — не очень понятно.
Re[3]: Подключение исходных файлов к проекту - на примере Libcu
Здравствуйте, Optimus1, Вы писали:
O>Спасибо! Нашел, есть такой. Но, не могу понять, как его в проект добавить ? Он, то открывается, и там представлена куча исходных .h и .c файлов, но как это все в проект добавить — не очень понятно.
Это уже и есть проект.
Собираешь libcurl.lib в нужной конфигурации, например с Windows SSPI.
Потом подключаешь в свой проект #include <curl.h>, а на вход линкера libcurl.lib.
Или можно в коде #pragma comment(lib, "libcurl.lib").
Re[4]: Подключение исходных файлов к проекту - на примере Libcu
Здравствуйте, qaz77, Вы писали:
Q>Здравствуйте, Optimus1, Вы писали:
O>>Спасибо! Нашел, есть такой. Но, не могу понять, как его в проект добавить ? Он, то открывается, и там представлена куча исходных .h и .c файлов, но как это все в проект добавить — не очень понятно.
Q>Это уже и есть проект. Q>Собираешь libcurl.lib в нужной конфигурации, например с Windows SSPI. Q>Потом подключаешь в свой проект #include <curl.h>, а на вход линкера libcurl.lib. Q>Или можно в коде #pragma comment(lib, "libcurl.lib").
А можно не собирать отдельно libcurl.lib ?? То есть грубо говоря, я хочу в debug режиме "шаг за шагом" посмотреть, что делает функция инициализации curl, или, как работает условная функция get_html_curl.
Если бы нужно было бы именно собрать libcurl в .lib файл, я бы уже собрал, в интернете полно инструкций, но я хотел попробовать использовать libcurl, именно, как проект с исходными файлами без какой либо предварительной сборки.
Re[5]: Подключение исходных файлов к проекту - на примере Libcu
Здравствуйте, Optimus1, Вы писали:
O>А можно не собирать отдельно libcurl.lib ?? То есть грубо говоря, я хочу в debug режиме "шаг за шагом" посмотреть, что делает функция инициализации curl, или, как работает условная функция get_html_curl. O>Если бы нужно было бы именно собрать libcurl в .lib файл, я бы уже собрал, в интернете полно инструкций, но я хотел попробовать использовать libcurl, именно, как проект с исходными файлами без какой либо предварительной сборки.
Если ты собрал lib с отладочной информацией (Debug), то сможешь студийным отладчиком заходить во все функции, смотреть переменные и т.п.
Можно создать свой солюшн, добавить туда проект своего тестового hello world и добавить проект libcurl.
Поставить зависимость своего exe от проекта libcurl и играться как хочешь.
Для изучения-экспериментов я бы, наверное, такой путь выбрал.
Для простых библиотек — да, можно все исходники затянуть к себе в проект и радоваться жизни.
Есть куча хидер-онли библиотек, которые вообще без собственных единиц трансляции поставляются.
Но, поверь, подключить так curl или OpenSSL — это слабоумие и отвага.
Даже в какой-нибудь относительно простой zlib есть части на ассемблере, т.ч. простое затаскивание к себе .h и .c не пройдет.
Re[6]: Подключение исходных файлов к проекту - на примере Libcu
Здравствуйте, qaz77, Вы писали:
Q>Здравствуйте, Optimus1, Вы писали:
O>>А можно не собирать отдельно libcurl.lib ?? То есть грубо говоря, я хочу в debug режиме "шаг за шагом" посмотреть, что делает функция инициализации curl, или, как работает условная функция get_html_curl. O>>Если бы нужно было бы именно собрать libcurl в .lib файл, я бы уже собрал, в интернете полно инструкций, но я хотел попробовать использовать libcurl, именно, как проект с исходными файлами без какой либо предварительной сборки.
Q>Если ты собрал lib с отладочной информацией (Debug), то сможешь студийным отладчиком заходить во все функции, смотреть переменные и т.п.
Q>Можно создать свой солюшн, добавить туда проект своего тестового hello world и добавить проект libcurl. Q>Поставить зависимость своего exe от проекта libcurl и играться как хочешь. Q>Для изучения-экспериментов я бы, наверное, такой путь выбрал.
Q>Для простых библиотек — да, можно все исходники затянуть к себе в проект и радоваться жизни. Q>Есть куча хидер-онли библиотек, которые вообще без собственных единиц трансляции поставляются. Q>Но, поверь, подключить так curl или OpenSSL — это слабоумие и отвага. Q>Даже в какой-нибудь относительно простой zlib есть части на ассемблере, т.ч. простое затаскивание к себе .h и .c не пройдет.
Понял, попробую, тогда debug .lib собрать и использовать. Спасибо.
Re[7]: Подключение исходных файлов к проекту - на примере Libcu