|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
Какие библиотеки нужны для запуска кода на с++ в exe файле?09.10.2024, 21:43. Показов 3992. Ответов 17
Метки нет (Все метки)
Я недавно начал изучать с++. Возникла проблема, что код работает только в среде разработки CodeBlocks, а при запуске кода в виде приложения выдается ошибка о нехватке какого-либо файле. Какие параметры надо выбрать, чтобы код запустился?
0
|
|
| 09.10.2024, 21:43 | |
|
Ответы с готовыми решениями:
17
SDL 2.0: какие библиотеки нужны для запуска приложении
|
|
|
|
| 10.10.2024, 06:34 | |
|
Daniil_G, если нет никаких других зависимостей (простой HelloWorld), установите флаги -static-libgcc и -static-libstdc++. Эти флаги статически прилинкуют к вашему приложению эти две библиотеки.
0
|
|
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 10.10.2024, 07:07 [ТС] | |
|
Я это пытался сделать, но появлялась другая ошибка
0
|
|
|
91 / 58 / 14
Регистрация: 16.11.2018
Сообщений: 274
|
|
| 10.10.2024, 08:40 | |
|
Такая ошибка появляется из за того что в коде вызывается библиотека WinPthreadGC эта библиотека не является опен соурс этот факт и не позволяет ее включить с сборку только в виде отдельной dll.
Код этой библиотеки можно найти в интернете и включить в сборку но это нарушит юридическую чистоту кода. Гораздо проще положить готовую dll рядом с exe. Для релизной сборки
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 10.10.2024, 11:04 | ||
|
Эта либа входит в комплект компилятора, и спокойно линкуется статически.
0
|
||
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 10.10.2024, 14:50 [ТС] | |
|
Так все таки. Как это исправить? Надо переустановить CodeBlokcs?
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 10.10.2024, 15:12 | |
Сообщение было отмечено SmallEvil как решение
Решение
Самый простой способ, добавить ключ
-static, компилятор все слинкует статически.
0
|
|
|
91 / 58 / 14
Регистрация: 16.11.2018
Сообщений: 274
|
||
| 10.10.2024, 15:42 | ||
|
Просто тебе нужно разобраться в вопросе "что такое линковка, для чего она нужна и как ее делать".
0
|
||
|
Вездепух
13177 / 6813 / 1821
Регистрация: 18.10.2014
Сообщений: 17,237
|
|||
| 10.10.2024, 23:28 | |||
|
0
|
|||
| 11.10.2024, 00:59 | |||
Сообщение было отмечено Daniil_G как решение
РешениеОб остальных DLL не надо беспокоиться, так как они системные и будут присутствовать на любой целевой Windows пользователей. EXE станет на несколько мегабайт тяжелее, но зато пользователя его будет проще найти и вам не надо копировать DLL вручную к EXE. Либо можно не делать статическую сборку, а cкопировать эти три DLL вручную, найдя их, например, в "mingw64/bin", MSYS и т.д. Либо можно создать установщик, тогда пользователю не нужно будет искать EXE среди DLL, а он запустит через ярлык, а DLL можно оставить динамическими. Если вы будете прикреплять архивы с EXE на КиберФоруме, то вряд ли стоит делать установщик и тогда особой разницы нет, копировать ли эти DLL вручную рядом с EXE или вшивать их в EXE статически.
2
|
|||
| 11.10.2024, 14:54 | ||||||
|
Когда вы установили следующие два флага линковщика: -static-libgcc и -static-libstdc++, то останется зависимость от libwinpthread1.dll, которую вы показали на скриншоте в сообщении #3. Эту зависимость можно увидеть в Dependency Walker:
А если вместо установки флагов -static-libgcc и -static-libstdc++ вы установите один единственный флаг -static, то пропадут зависимости от всех трёх библиотек: libstdc++-6.dll, libgcc_s_seh-1.dll и libwinpthread-1.dll: Если или когда вы начнёте использовать CMake, то флаг -static можно установить в CMakeLists.txt следующим образом:
1
|
||||||
| 11.10.2024, 15:07 | |
|
Для того, чтобы сделать refresh (обновление) в Dependency Walker надо нажать F5.
1
|
|
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 12.10.2024, 15:55 [ТС] | |
|
Здравствуйте! Я поставил галки над тремя пунктами: 1.static libgcc, 2.static libstd++, 3.static linking. Все получилось, все работает. Спасибо за помощь
0
|
|
| 12.10.2024, 16:54 | ||
|
0
|
||
|
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
|
|
| 12.10.2024, 19:17 [ТС] | |
|
Я первым делом так попробовал. Все равно выдало ошибку о нехватке llibstd++
0
|
|
| 12.10.2024, 20:49 | |
|
1
|
|
| 12.10.2024, 20:53 | ||||||
|
После сборки обратите внимание на имя папки (Release или Debug) и на наличие флага -static в окне "Build log" внизу в этой строке:
1
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 12.10.2024, 22:47 | |
|
8Observer8, да это бесполезно
0
|
|
| 12.10.2024, 22:47 | |
|
Помогаю со студенческими работами здесь
18
Какие нужны библиотеки для Excel? Не достаточно привилегий для запуска Job. Какие нужны? Какие библиотеки нужны для TChromium (не запускается)? Как узнать какие библиотеки нужны для проекта? какие библиотеки нужны для менеджера закачек на Visual C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|