Mrusio Temat założony przez niniejszego użytkownika |
Kompilacja gotowego programu (release) w Visual Studio » 2012-05-12 12:00:19 Witam, mam takie pytanie. W jaki sposób kompilować już gotowy projekt, tak aby można było go używać na różnych komputerach?
Obecnie uruchamiając .exe wyskakuje błąd (dla biblioteki allegro5) "Nie można uruchomić programu, ponieważ na komputerze nie znaleziono allegro-5.0.5-monolith-md-debug.dll. Spróbuj ponownie zainstalować program, aby naprawić ten problem."
Umieszczenie brakującego pliku w lokalizacji z aplikacją załatwia problem, ale w przypadku innego projektu z OpenGL program krzyczał o jakieś inne pliki, których w życiu na oczy nie widziałem (zaznaczam, że u mnie działało, u kolegi nie).
A więc jak powinna wyglądać kompilacja gotowego projektu? Czy jedyny sposób to umieszczenie wszystkich tych plików razem z programem? |
|
xevuel |
» 2012-05-12 12:05:03 A więc jak powinna wyglądać kompilacja gotowego projektu? Czy jedyny sposób to umieszczenie wszystkich tych plików razem z programem? |
Na etapie kompilacji linker dołącza tylko biblioteki statyczne .a/.lib. Natomiast te błędy o których mówisz są spowodowane brakiem bibliotek dynamicznych, DLL. Tak, jest to jedyny sposób, ew. w niektóych przypadkach da się chyba wrzucić DLL-kę do zasobów programu. |
|
Mrusio Temat założony przez niniejszego użytkownika |
» 2012-05-12 12:12:09 ok, dzięki za szybką odpowiedź. A skoro tak, to teraz nachodzi mnie jeszcze jedno pytanie odnośnie samej bilbioteki allegro:
to moje początki z programowaniem z wykorzystaniem allegro, a więc w jakimś poradniku kazali korzystać właśnie ze wspomnianego "allegro-5.0.5-monolith-md-debug.dll". Czy do kompilacji gotowego projektu nie wypadało by użyć jakiegoś innego pliku? Jakiego i czym mogłoby skutkować dołączenie "allegro-5.0.5-monolith-md-debug.dll"? |
|
RazzorFlame |
» 2012-05-12 12:16:01 Dołączenie tego pliku by pozwoliło programowi normalnie działać :D |
|
xevuel |
» 2012-05-12 12:16:58 allegro-5.0.5-monolith-md-debug.dll to gotowa biblioteka przechowująca zapewne najróżniejsze funkcje allegro. Nie musisz z niej korzystać, jeśli znajdziesz gdzieś source i je dodasz do projektu, albo sam je napiszesz ;)
I jeszcze jedno - pliki DLL nie są włączane do programu, więc nie są kompilowane razem z nim (pomijając użycie zasobów). |
|
Mrusio Temat założony przez niniejszego użytkownika |
» 2012-05-12 12:18:21 nie chodzi o to. Mam w folderze z biblioteką allegro mnóstwo tych plików i w zasadzie nie wiem czym one się różnią od siebie. Tutaj mnie zniechęca to "debug" w nazwie pliku i wydaje mi się, że do gotowego projektu powinna użyć się innego pliku, |
|
SeaMonster131 |
» 2012-05-12 12:19:50 Może masz *.dll zawierające w nazwie "Debug" oraz *.dll nie zawierające w nazwie tego słowa ? |
|
xevuel |
» 2012-05-12 12:21:07 Tutaj mnie zniechęca to "debug" w nazwie pliku i wydaje mi się, że do gotowego projektu powinna użyć się innego pliku |
Oprócz zwykłego kodu na pewno dodałeś coś jeszcze do projektu, a mianowicie adresy libów. I to w nich są zawarte adresy tej funkcji, włącznie z nazwą DLL-ki. Także musisz wrzucić tam innego liba jeśli nie chcesz mieć "debug" w nazwie (aczkolwiek nie wiem co ci to przeszkadza) :) Tak więc tak jak @Sea, jeśli masz podobną nazwę tej DLL-ki, możesz jej użyć - pod warunkiem, że zmienisz liba. |
|
« 1 » 2 |