Załóżmy, że stworzyłem i skompilowałem prosty program przy użyciu mingw64 (kompilator g ++). Uruchomienie tego programu na komputerze i patrząc w Process Explorer dla co pliki DLL program korzysta znajdę (między innymi):Dystrybucja programu skompilowanego z mingw g ++
libgcc_s_seh-1.dll
libstdc++6.dll
libwinpthread-1.dll
Są jedynymi, które znajdują się pod moim folderze instalacyjnym MinGW. Pozostałe używane biblioteki DLL znajdują się w C: \ Windows.
Pytanie 1: Czy biblioteki DLL MinGW są bibliotekami uruchomieniowymi MinGW C++ (że tak powiem)? Czy służą one temu samemu celowi, jak na przykład msvcrXXX.dll (XXX = wersja biblioteki uruchomieniowej Microsoft).
Pytanie 2: Jeśli chcę, aby uruchomić aplikację na innym komputerze, który nie posiada zainstalowanego MinGW, jest to wystarczające, aby objąć te pliki DLL wymienione powyżej (tj umieszczając je w tym samym folderze co moim pliku wykonywalnego) aby uruchomić go na drugim komputerze (zakładamy, że drugi komputer to także 64-bitowa maszyna Win). Jeśli tak, to znaczy, że zasadniczo wysyłamy środowisko wykonawcze MinGW C++ za pomocą naszego pliku wykonywalnego. Jeśli nie, dlaczego?
Dzięki.
Czy rozważałeś opublikowanie swojego programu jako wolnego oprogramowania (np. Na licencji GPL na [github] (http://github.com/) ...)? Twoi użytkownicy skompilowaliby go i użyli * swojej * wersji MinGW. –
@BasileStarynkevitch Nie, w tej chwili jestem zainteresowany powiedzeniem podania aplikacji przyjacielowi, aby mógł uciec. Jak prosta gra w kółko i krzyżyk lub coś podobnego. Miałem opublikować go na github lub podobnym, a następnie zrobiłbym to, co sugerowałeś, opublikował kod źródłowy i może plik Makefile. – jensa
Następnie prawdopodobnie będziesz musiał wyjaśnić znajomemu, jak zainstalować środowisko wykonawcze MinGW. Upewnij się, że przestrzegasz licencji MinGW. –