Przeczytałem dwa poniższe pytania: Which runtime libraries to ship? i License of runtime libraries included in GCC? - oba były bardzo pomocne, ale nie do końca tego, czego szukałem.Wymagania dotyczące bibliotek środowiska wykonawczego wysyłania/bibliotek DLL
Zawsze pisałem programy do użytku na mojej maszynie, co nigdy nie sprawiało mi żadnych problemów, ale teraz chcę uruchomić oprogramowanie na innych komputerach i jestem nieufny wobec wymagań środowiska wykonawczego.
EDYCJA: Zobacz poniżej przykład, to było mylące.
szczególności, jeśli napisać program w C++ na komputerze z systemem Windows, skompilowane z gcc poprzez MinGW i chcesz go uruchomić na innym komputerze:
Czy muszę wysłać libstdC++. dll z mojego programu?Czy ten pojedynczy plik (zakładam, że znajduje się w katalogu wykonywalnym) wystarczający do uruchomienia programu?
Również identyczny przykład, z wyjątkiem tego, że jest to program typu Objective-C. Czy wysyłanie pliku libobjc.dll do drugiego komputera jest wystarczające, aby umożliwić prawidłowe wykonanie programu?
Jestem przyzwyczajony do uruchamiania programów na komputerach z zainstalowanymi narzędziami programistycznymi itp., Ale teraz zamierzam uruchomić je na komputerach ogólnego przeznaczenia (np. Przyjaciołach, kolegach itp.) I nie jestem całkiem pewnie, co robić!
EDIT: W odpowiedzi na gmach „s odpowiedź, czuję, że powinienem wyjaśnić, co to ja szukam. Wiem, jak zidentyfikować niezbędne biblioteki DLL (/ dylibs, itp.), Których używają moje programy (chociaż jestem przyzwyczajony do robienia tego ręcznie, nie słyszałem o żadnym z narzędzi). Moje pytanie było bardziej "Co mam teraz zrobić?"
Bardziej ogólny przykład jest prawdopodobnie potrzebne:
Powiedzmy Napisałem program, który ma wyrazić sprzeciw pliki pochodzące z C++, C i/lub C Objective-(2) Kod. Użyłem kodu Windows API, który został skompilowany pomyślnie przy użyciu gcc MinGW. Mam również niestandardową bibliotekę DLL, którą napisałem w Visual Studio (C++).
Zidentyfikowaliśmy biblioteki DLL, których mój program będzie używał w czasie wykonywania (jednym z nich może być plik libobjc.dll GCC, nie jestem pewien, czy to/powinienoby mieć wpływ na maszynę z systemem Windows, ale chcę to zrobić tak ogólny, jak to możliwe) - "wymagania wstępne DLL".
chciałbym go uruchomić na komputerach z moich kolegów, z których większość systemem Windows 7, ale niektórzy teraz uruchomić Windows 8. Już od samego początku w trosce o kompletność:
- muszę przetransferować wymagające biblioteki DLL do komputerów moich kolegów?
- W jakim katalogu powinienem je umieścić? (katalog exe/katalog systemowy?)
- Czy na miejscu obecność tych bibliotek DLL pozwoli na prawidłowe wykonanie programu? (Zakładając, że wie, gdzie je znaleźć)
- Czy są jakieś inne pliki, które powinny zostać przesłane z bibliotekami DLL?
Zasadniczo staram się określić cały proces myślenia w celu opracowania i uruchomienia aplikacji na innej maszynie pod względem wymagań systemowych.
Dla aplikacji sklepu Win8 patrz: http://blogs.msdn.com/b/vcblog/archive/2012/09/28/10354327.aspx –