|
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
|
|
Как добавить свою библиотеку в стандартные С++26.01.2019, 10:49. Показов 10156. Ответов 5
Метки библиотека (Все метки)
Доброго времени суток, уважаемые форумчане!
Недавно стало интересно, можно ли добавить свою библиотеку к стандартным библиотекам с++. Чтобы не добавлять ее каждый раз в новом проекте в файлы заголовков по новому и только потом include'ить. Насколько я понял, для этого ее нужно запихнуть во внешние зависимости. По сути, я хочу использовать эту библиотеку постоянно, как <iostream> и без очередного добавления в файлы заголовком. Подскажите, пожалуйста, как это сделать.
0
|
|
| 26.01.2019, 10:49 | |
|
Ответы с готовыми решениями:
5
Как добавить свою библиотеку? Как добавить в свою программу библиотеку со своими функциями? Требуется добавить свою библиотеку |
|
-47 / 3 / 0
Регистрация: 31.12.2017
Сообщений: 204
|
||||
| 26.01.2019, 13:11 | ||||
|
1
|
||||
|
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
|
||||
| 26.01.2019, 13:31 [ТС] | ||||
|
0
|
||||
|
-47 / 3 / 0
Регистрация: 31.12.2017
Сообщений: 204
|
||||
| 26.01.2019, 13:55 | ||||
|
0
|
||||
|
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
|
|
| 26.01.2019, 14:14 | |
|
Вы можете написать скрипт, который сразу создаёт проект с прилинкованными к нему либами, и создавать проекты таким образом.
1
|
|
|
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,518
|
||||||||||||||||||
| 26.01.2019, 15:46 | ||||||||||||||||||
Сообщение было отмечено JohnBlack123 как решение
РешениеПользовательские библиотеки делятся на:
В виде .lib или в виде .dll. 2. Приходим к пониманию, что стандартные библиотеки так же делятся на дебажные, и релизные. На 32 битные и 64 битные. На .dll и .lib На статический рантайм и на динамический. Что бы подмешать свою библиотеку к стандартным, необходимо выполнить внедрение своей библиотеки во всех обозначенных выше конфигурациях. 3. Например, для внеднерения своей .lib Находим любую стандартную библиотеку во всех обозначенных выше конфигурациях. Для Visual Studio в качестве онной можно задействовать msvcrt.libВажно понимать, что если библиотека с таким именем находится в каталоге amd64,то это - 64 битная версия. Я хочу сказать, что по названию каталогов, где располагается библиотека, можно догадаться какая у неё битность. Как различить debug или relese - предмет особой олимпиады. Для debug должны поставляться .pdb файлы с отладочной информацией. 4. Теперь осуществляем внедрение. Для этого разбираем стандартную библиотеку на запчасти. Используем утилиту lib.exe, идущую в составе компилятораlib.exe умеет разбирать .lib на .obj, из которых она состоит, и собирать их заново в итоговый .lib Задача сводится к тому, чтобы разобрать стандартную и пользовательскую .lib на запчасти и снова собрать в одну большую стандартную .lib вот так выглядит эта процедура на cmake
После проделанных манипуляций имеем стандартную .lib, которая в своём составе включает пользовательскую библиотеку. Теперь каждый раз, когда будет выполняться сборка проекта, и компилятор автоматически подключит стандартную библиотеку, вместе с ней автоматом подключится и пользовательский код. 6. Все обозначенное выше необходимо проделать во всех версиях. 7. С динамическими библиотеками дела обстоят гораздо хуже. Мало того, что на пользовательской машинке dll может поставляться откуда то извне, (не из состава Visual Studio), так их просто пропатчить сложнее, чем статическую .lib 8. Не обходимо учесть, что рантайм может быть динамическим/статическим, и.... 9. Думаю к этому моменту у любого здравомыслящего человека возникнет мысль: "а может ну его нафиг????" 10. Подключайте библиотеки к своим проектам нормальным штатным способом, и будет вам счастье. 11. Не нужно заниматься всяким извращением. Добавлено через 13 минут Для этого: 1. Выполняем поиск место расположения стандартного заголовка. Например - <iostream> 2. В этом же каталоге размешаем свой пользовательский хэдер. 3. Если вместе с хэдэром в сборку необходимо включить .lib файл пользовательской библиотеки, тогда в пользовательском хэдере необходимо прописать:
library.lib нужно пропечатать путь к вашей библиотеке.Путь задается относительно хедера. 4. PROFIT ???!!!
2
|
||||||||||||||||||
| 26.01.2019, 15:46 | |
|
Помогаю со студенческими работами здесь
6
Не могу добавить Forms в свою библиотеку Добавить свою библиотеку из фраз и прочитать какое либо предложение из файла Как написать свою библиотеку? Как создать свою библиотеку? Как создать свою библиотеку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|