С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 65
1

Линковка сторонней библиотеки, как скомплить lib файл, cmake

22.12.2019, 02:43. Показов 4280. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня сразу несколько вопросов новичка
хочу добавить данную библиотеку в свой мини-проект https://github.com/yourWaifu/sleepy-discord
как я понял, мне нужно ее сначала скомпилировать, получив lib файл, юзаю я visual studio 2017
а чтобы это сделать нужно скачать и установить еще 3(4) библиотеки
OpenSSL
cpr
Websocket++ or uWebSockets
проблема в том, что я не умею это делать, в скачанных библиотеках нет файла проекта (sln, vcxproj), имеется только CMakeLists.txt, а как собирать через cmake я понятия не имею, гугл тоже не особо помог, но тут я скорее неправильно гуглю. подскажите, пожалуйста хороший мануал как на винде, собирать проекты через CMakeLists.txt (да я полный краб в этом деле, не программист, у меня, можно сказать, единичный случай, так что не надо бить книгами по программированию)))
разумеется тему решил создать не только ради этого вопроса
2) правильно ли я понимаю, что если я соберу библиотеку, для компиляции которой понадобятся другие дополнительные либы. то при использовании этой первой либы в моей программе, дополнительные либы мне уже нет необходимости линковать следом?
3) как я понял, эта строчка в описании либы: Requirements: Websocket++ or uWebSockets подразумевает что мне нужно закоментить #include либо для первого либо для второго в исходниках либы?
4) могу ли я вообще обойтись без компиляции lib файла? вместо этого прилинковать вместе .h файлами и .cpp файлы этой библиотеки? и вообще какая разница?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
22.12.2019, 02:43
Ответы с готовыми решениями:

Статическая линковка в CMake и VC++
Что прописать в файле CMakeLists.txt чтобы стандартные библиотеки линковались статически? В VC++ ...

Линковка с кастомной внешней библиотекой в CMAKE
Всем привет. Пытаюсь собрать проект Qt на cmake но столкнулся с проблемой линковки с отдельно...

Статическая линковка библиотек через cmake
Всем привет. Столкнулся с такой проблемой, для gcc чтоыб он линковал статически с нужными либами...

Как в VS 2015 устранить ошибку LNK 1104 cannot open file 'fltkd.lib wsock32.lib comct132.lib fltkjpegd.lib'?
как устранить ошибку LNK 1104 в visual studio community 2015? пункта C/C++ в properties нету ...

4
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
22.12.2019, 03:18 2
https://cmake.org/
0
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 65
22.12.2019, 16:51  [ТС] 3
Antikl, скачал, установил
cmake gui не может создать проект для данной либы, а в visual studio (именно для первой либы в папке с github имеется уже готовый файлик sln) творится неч-то непонятное, компилятор запрашивает файлы, которых нет (те самые дополнительные библиотеки), а странно именно то, что в папке уже имеются хедеры данных библиотек (как я понял либы нужно скоплить отдельно) но студия не просил либы, а запрашивает исходные файлы этих дополнительных библиотек (cpp), которые должны лежать по другому пути
в итоге я просто скачал с гитхаба эти библиотеки и раскидал файлы, согласно тому как просил компилятор. в итоге собралась либа - но она не работала даже в программе example от авторов этой либы...и имела подозрительно малый вес
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
22.12.2019, 18:16 4
1) Patch системы должен как Visual так и Cmake
2) Cmake запустить от администратора
3) Проект и все связаное должно находиться на других дисках D E G
4) Когда собираешь Cmake в configure -> Specify the generator for this project выбрать свою IDE, дальше поставь галочку на Specify native compilers что бы убедиться в том что он нашeл компилятор
5) после выпадут настройки сборки там выберешь то что надо, обычно не трогаешь их и жмешь generate/ описание настроек находиться обычно в документации
6) в папке будет файл проекта твоей IDE просто запускаешь и компилируешь, h файлы там изначально есть, находишь не достающие файлы lib, a, dll.
6.1) могут потребоваться для компиляции другие lib их или скачиваешь или тоже собираешь потом когда открываешь проект главной lib в самом проекте установи недостающие lib, h
0
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 65
23.12.2019, 01:13  [ТС] 5
cmake gui ошибку выдает незасисимо ставлю ли я галочку Specify the generator for this project или нет
в папке скачанной с гитхаба был еще и sln файл, я его открыл но там какая-то чудасия происходит
я создал новый проект, по 1 добавлял туда файлы от библиотек и все сначала было просто и понято, добавлял библиотеки требуемые по 1, как все было добавлено компилятор мне жалуется на бусты....(бусты являются зависимостью библиотеки asio, которая требуется для этой либы что я пытаюсь собрать)
все выходные потратил и все напрасно, я растроен
0
23.12.2019, 01:13
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
23.12.2019, 01:13
Помогаю со студенческими работами здесь

Библиотеки glut.lib и glut32.lib не могу найти
Здравствуйте товарищи, помогите с очередной дилеммой. На днях начал изучать программирование,...

C++ Builder 6 библиотеки d3d9.lib и d3dx9d.lib
Здравствуйте. Сегодня пытался импортировать библиотеки d3d9.dll и d3dx9d.dll. Вроде всё получилось...

Cmake, как построить и подключать библиотеки OpenGL
Здравствуйте, нужно построить библиотеки glew и glfw, чтобы добавить потом в Visual Studio 2013. ...

Как с помощью CMake выполнять автоматическое построение библиотеки?
Как с помощью CMake выполнять автоматическое построение библиотеки? Ниже представлен файл...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru