Doskonale zdaję sobie sprawę z tego, że na tym forum pojawiło się wiele podobnych problemów, jednak żadne z tych rozwiązań nie pomogło mi.Program nie może się uruchomić, ponieważ brakuje pliku * .dll - MinGW, Eclipse, Windows 7
Próbuję uruchomić Eclipse CDT z MinGW toolchain na Windows 7 Service Pack 1. Zrobiłem to już w systemie Windows XP i myślałem, że ta sama procedura sprawi, że będzie działała sprawnie na Windows 7, ale wygląda na to, że się pomyliłem ;)
Po zainstalowaniu MinGW z automatycznego instalatora (na wszelki wypadek, gdy zainstalowałem kilka rzeczy więcej, niż potrzebowałem) i dodaniu C:/MinGW/bin do zmiennej środowiskowej PATH, spróbowałem skompilować proste Hello , Świat! program. Eclipse nie dał mi żadnych błędów, ale nie chciał dać żadnych wyników w oknie konsoli. Zignorowany, próbowałem uruchomić plik wykonywalny poza środowiskiem Eclipse i otrzymałem komunikat o błędzie, że "Program nie może się uruchomić, ponieważ brakuje biblioteki libstdC++ - 6.dll".
Co dziwne, ta biblioteka dll znajduje się w katalogu C:/minGW/bin, więc zmienna PATH powinna ją "znaleźć", ale tak się nie dzieje. Skopiowanie biblioteki DLL do katalogu z plikiem wykonywalnym pomogło, ale jest to oczywiście rozwiązanie krótkoterminowe i wolałbym mieć bardziej "normalny".
Rzeczą, która sprawia, że mój problem jest inny, myślę, że od innych, które zauważyłem na tej tablicy, to fakt, że Eclipse nie znajduje żadnych błędów z moją zmienną PATH (co zwykle robi, jeśli MinGW nie było zawarte w zmiennej Path lub czymś), a poza tym wymagane biblioteki DLL są tam, gdzie powinny, ale wygląda na to, że mój Windows ich nie może znaleźć.
Zakładam, że już sprawdziłeś, czy jest to "prawdziwy" plik, a nie dowiązanie symboliczne? –
Są to prawdziwe pliki * .dll - jak już powiedziałem, skopiowanie ich do folderu z plikiem wykonywalnym rozwiązało problem, ale szukam bardziej "eleganckiego" rozwiązania i niezależnego od maszyny, na której program jest uruchomiony. – user988066
Po prostu z ciekawości, wylogowałeś się i ponownie. Mieliśmy ten problem przed i wylogować się/pomógł –