С чего начать развертывание кода C ++? - PullRequest
0 голосов
/ 03 апреля 2020

Я просто хочу отправить несколько простых приложений SDL, которые я сделал, своим друзьям, не являющимся программистами. Я немного погуглил, но все, что я получил, - это еще больше путаницы. Я искренне не знаю, что мне делать и с чего начать.

Некоторые сказали, что мне нужно будет использовать что-то вроде Make / Cmake, некоторые сказали, что используют какой-то инсталлятор, такой как NSIS или INNO Setup, некоторые сказали, что мне просто нужно поместить все библиотеки в папку, которую я отправлю конечному пользователю.

Я пробовал последний на виртуальной машине fre sh Windows. Она попросила странных dll, что я не знаю, что они такое (libstdc ++ - 6 & libgcc_s_seh-1). Я все равно их установил и положил папку, но потом она продолжала просить больше.

Я не знаю, что мне делать. Нужно ли использовать другую программу, такую ​​как CMake или NSIS? (Я строю проект на Eclipse как C ++ Managed Built). Если нет, какие варианты сборки я должен использовать? Какие библиотеки мне следует добавить в файл? Все, что я хочу, это отправная точка и руководство, которому я могу следовать.

Библиотеки, которые я использую в приложении:

stdio.h
math.h
time.h
string
SDL.h ( SDL2 )
SDL_image.h

(И да, я предоставил SDL dll в файл и удалось получить приложение пустого окна, работающее на ВМ. Но приложение actaul не работает.)

Любая информация относительно названия приветствуется. Заранее спасибо.

1 Ответ

0 голосов
/ 03 апреля 2020

Некоторые говорили, что мне нужно использовать такие вещи, как Make / Cmake

Это ничего не изменит. Системы сборки просто дают вам удобный способ вызова компилятора.

какой-то инсталлятор, такой как NSIS или INNO Setup

Вы можете использовать их, но это не принципиально отличается от отправки вашим друзьям .exe + .dll s в архиве.

Я попробовал последний на свободном sh Windows VM, он спросил странные dll, что я не знаю, что они (libstdc ++ - 6 & libgcc_s_seh-1)

Кажется, вы используете MinGW. Эти .dll s поставляются вместе с вашим компилятором и находятся в том же каталоге, что и g++.exe.

Они должны быть скопированы в папку, где находится .exe.

он просил больше

Он должен запрашивать только некоторые из .dll, поставляемых с компилятором, или для .dll библиотек, которые вы используете ( SDL2.dll).


Как уже упоминалось в комментариях, альтернативой копированию .dll s является stati c linking , т.е. встраивание библиотек непосредственно в .exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...