j-snow
@j-snow
Java junior developer

CLion: запуск программы невозможен, отсутствует dll; Как решить?

Пытаюсь написать мини-программулину на С++, и наткнулся на проблему с билдом. При запуске из ИДЕ всё ок, а вот отдельно запустить exe не получается, ругается на отсутствие библиотек.

5a797885e912c325727256.png

CMakeLists:
cmake_minimum_required(VERSION 3.6)
project(proxyyy)

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES test.cpp)
add_executable(proxyyy ${SOURCE_FILES})


UPD:
Догадываюсь, что можно просто взять dll и положить её куда-нибудь неподалёку, но хотелось бы иметь на выходе единый exe-файл. Насколько я знаю, CodeBlocks по умолчанию как раз включает всё необходимое прямо в exe.

UPD:
Решением стала вот такая строка (подробнее тут):
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++ -static-libgcc")
  • Вопрос задан
  • 1237 просмотров
Решения вопроса 1
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Можно включить всё явно. Читайте про статическую сборку.
Не знаю, чем вы собираете, но во флаги линкера можно добавить что-то вроде, для gcc: -static-libstdc++ -static-libgcc. Возможно под виндами что-то ещё придётся линковать статически. Размер исполняемого файла увеличится, ясное дело.

А если вы хотите добиться результатов как в CodeBlocks, то просто посмотрите какие флаги эта IDE добавляет в Makefile и добавьте тоже самое.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ну так положите рядом с программой нужный файл библиотеки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы