С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/27: Рейтинг темы: голосов - 27, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12

Как создать самостоятельную .dll с использованием сторонних библиотек?

15.01.2020, 17:29. Показов 5155. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу скомпилировать самостоятельную динамическую библиотеку, но на выходе имею [название библиотеки].dll и zlib1.dll и libcurl.dll.
С помощью vcpkg скачал необходимые статические библиотеки, но при компиляции получаю ошибки, которые зависят от настроек проекта. В приложении скрины.
Как слинковать статические библиотеки и скомпилировать все в один dll файл?
Миниатюры
Как создать самостоятельную .dll с использованием сторонних библиотек?   Как создать самостоятельную .dll с использованием сторонних библиотек?   Как создать самостоятельную .dll с использованием сторонних библиотек?  

0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2020, 17:29
Ответы с готовыми решениями:

Создать приложение с использованием DLL-библиотек
Помогите создать приложение с использованием DLL-библиотек для решения уравнения y=(sin(pi/2+3*a))/(1-sin(3*a-pi)) Добавлено через...

Как создать документацию с использованием стандартных библиотек Java
Привет всем! Нужна помощь в следующем: Как я могу линковать для документации оригинальные java файлы. Допустим у меня есть...

Как убрать следы от библиотек сторонних производителей
Проблема стоит в следующем. Писал приложение для работы с БД MySQL. Долго не мог подключиться к БД по ADO, поэтому начал использовать...

5
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.01.2020, 18:02
lemom, для libcurl нужно глобально для проекта задать дефайн CURL_STATICLIB
для libz, соответственно, не должно быть заданного в проекте дефайна ZLIB_DLL.

Добавлено через 1 минуту
Не забудьте сделать полную пересборку после внесения изменений.
1
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12
15.01.2020, 18:49  [ТС]
DrOffset, прописал и с подчеркиванием (_CURL_STATICLIB) и без (CURL_STATICLIB), имею в обоих такой набор ошибок.
Я на самом деле не понимаю в принципе какие настройки проекта нужны, чтобы собрать проект. Т.е. например:
1. Что установить в Configuration Properties -> C/C++ -> Runtime Library: /MD не ставится, хотя если я правильно понимаю, надо ее ставить при компиляции .dll. Но в этом случае линкер ругается.
2. Почему надо указывать библиотеки и инклуды в стольких местах? (На четырех последних скринах). Неужели правда так надо?
3. Чтобы скомпилировать самостоятельный файл, будь то .exe или .dll нужно использовать статические библиотеки?
Миниатюры
Как создать самостоятельную .dll с использованием сторонних библиотек?   Как создать самостоятельную .dll с использованием сторонних библиотек?   Как создать самостоятельную .dll с использованием сторонних библиотек?  

Как создать самостоятельную .dll с использованием сторонних библиотек?   Как создать самостоятельную .dll с использованием сторонних библиотек?  
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.01.2020, 19:11
Лучший ответ Сообщение было отмечено lemom как решение

Решение

Цитата Сообщение от lemom Посмотреть сообщение
DrOffset, прописал и с подчеркиванием (_CURL_STATICLIB) и без (CURL_STATICLIB), имею в обоих такой набор ошибок.
Не надо самодеятельности. С подчеркиванием не нужен дефайн.

Цитата Сообщение от lemom Посмотреть сообщение
имею в обоих такой набор ошибок.
Это ошибки, не связанные с libcurl.
Из-за того, что библиотека у вас теперь статическая, зависимости самой libcurl нужно подключить явно. В данном случае это ws2_32.lib и crypt32.lib.

Цитата Сообщение от lemom Посмотреть сообщение
Что установить в Configuration Properties -> C/C++ -> Runtime Library
При компиляции приложения (exe) без разницы.
При компиляции статической библиотеки (а вам она и нужна) этот параметр вообще не используется, т.к. линковщик в этом процессе не участвует.

Цитата Сообщение от lemom Посмотреть сообщение
Почему надо указывать библиотеки и инклуды в стольких местах?
Для одной цели в двух местах всего (include и lib).

Цитата Сообщение от lemom Посмотреть сообщение
будь то .exe или .dll нужно использовать статические библиотеки?
Да.
Динамические одновременно с ними использовать не надо.
1
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12
15.01.2020, 19:33  [ТС]
Я не понимаю почему, но все работает.
Спасибо!!
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.01.2020, 19:36
Цитата Сообщение от lemom Посмотреть сообщение
Я не понимаю почему
Возможно не сразу покажется, что это имеет отношение к теме, но все-таки посоветую прочитать: https://habr.com/ru/post/150327/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2020, 19:36
Помогаю со студенческими работами здесь

Как узнать частоту звука без сторонних библиотек
кто нибудь знает как в работать со звуком без сторонних библиотек? мне нужно чтобы во время проигрывания звука можно было узнать его...

Как отловить нажатие клавиш-стрелок без сторонних библиотек?
Всем привет! Подскажите, пожалуйста, как ловить нажатие клавиш-стрелок? Без использования сторонних библиотек (типа pygame)

Как реализовать на C# алгоритм blockchain без использования сторонних библиотек?
Добрый день! Хочу реализовать алгоритм blockchain в своём приложении (не для денежных операций). Какие стандартные объекты уже...

Как на с++(юникс) отправить http post запрос без сторонних библиотек
Ответ сервера не важен, главное - послать пост-запрос. boost, libcurl и прочее использовать нельзя. Подскажите, как это проще всего...

Как определять какие ключи компиляции необходимы при использовании сторонних библиотек?
Захотелось мне скомпилировать программу, использующую Zlib, но компилятор ругается undefined reference такая-то функция. Значит ему надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru