[VS]Program w wersji debug działą release nie


(underface) #1

Mam następujący problem. Po kompilacji programu w trybie debug ten działa dobrze (gdy do miejsca, gdzie znajduje się aplikacji exe wrzucę dwa pliki dll niezbędne do projektu [na moim kompie]), natomiast wersja release mimo, że kompilowana w takich samych parametrach się nie odpala (nawet po wrzuceniu tych dwóch dll'ek do folderu release z aplikacją exe)

ponadto odpalając program (w wersji debug) na innym komputerze bez VS aplikacja wyrzuca błędy o braku dll'ek nie tylko tych dwóch, o których wcześniej wspomniałem,

dlatego też liczę na pomoc lub wskazówki co zrobić aby wszystkie niezbędne pliki w projekcie zostały załączone np. w dodatkowym folderze


(Fiołek) #2

1) Forumowa szukajka, temat był już wiele razy

2) http://warsztat.gd/wiki/Dystrybucja+aplikacji+napisanych+w+Visual+CPP+2005+EE, za 2005 możesz wstawić 2008, 2010 czy 2012

3) Jeśli wersja release ma takie same parametry kompilacji i linkowania jak wersja debug, to ta sama wersja.

4) Co to za biblioteki(na pewno dobre DLL-ki wrzucasz? Może do wersji debug linkujesz debugowe a do release - release)? Jak to "nie odpala się"?


(underface) #3

wersja debug z tymi dwiema bibliotekami startuje bez problemu, ta z release dalej woła o te biblioteki, mimo, że są już dodane


(Fiołek) #4

Jesteś pewien, że dodałeś dobre DLL-ki(w sensie wersji i tego, czy są debug, czy release i odpowiadają LIB)?


(underface) #5

problem z DLL'kami rozwiązałem. ale w końcowym rezultacie pojawił się taki problem, że u mnie program działa - wersja Debug i realase.

natomiast na innym kompie, gdzie nie ma OPENCV, QT oraz VS2010 odpala ale po kliknięciu przycisku dopowiadającego za start nic się nie dzieje


(Fiołek) #6

Jeśli ten “przycisk odpowiadający za start” został stworzony przez Ciebie, to tylko od Ciebie zależy jak zachowa się program, którego zależności nie są spełnione, więc nie dziw się, że “nic się nie dzieje”. Podajesz za mało informacji, by stwierdzić przyczynę - jedyne co mogę/możemy robić to strzelać.

Jeśli używasz jakichś bibliotek i nie dostarczasz ich razem z aplikacją(czy to w formie “czystych” DLL-ek, instalatora czy zlinkowanych statycznie) to nie ma szans ona działać. Tyczy się to zarówno runtime C/C++(link, który podałem wcześniej) jak i innych bibliotek.