2011-10-10 47 views
7

Tôi nhận thức được thực tế rằng vô số vấn đề tương tự đã xuất hiện trên bảng này, tuy nhiên không có giải pháp nào giúp tôi.Chương trình không thể khởi động vì * .dll bị thiếu - MinGW, Eclipse, Windows 7

Tôi đang cố gắng chạy Eclipse CDT với chuỗi công cụ MinGW trên Windows 7 Gói Dịch vụ 1. Tôi đã làm điều đó trên Windows XP và nghĩ rằng quy trình tương tự sẽ làm cho nó chạy trơn tru trên Windows 7, nhưng có vẻ như tôi đã nhầm ;)

Sau khi cài đặt MinGW từ trình cài đặt tự động (chỉ trong trường hợp tôi cài đặt nhiều thứ hơn những gì tôi cần) và thêm C:/MinGW/bin vào biến môi trường PATH, tôi đã cố gắng biên dịch một Hello đơn giản , Thế giới! chương trình. Eclipse không cung cấp cho tôi bất kỳ lỗi nào, nhưng nó không muốn đưa ra bất kỳ đầu ra nào trong cửa sổ Console. Đã báo động, tôi đã cố gắng chạy tệp thi hành bên ngoài Eclipse và nhận được lỗi rằng

"Chương trình không thể bắt đầu vì libstdC++ - 6.dll bị thiếu".

Kỳ lạ, dll này nằm trong thư mục C:/minGW/bin, vì vậy biến PATH sẽ 'tìm' nó - nhưng nó không. Sao chép các dll vào thư mục với các tập tin thực thi đã giúp, nhưng nó rõ ràng là một giải pháp ngắn hạn và tôi muốn có một "bình thường" một. Điều mà làm cho vấn đề của tôi khác nhau, tôi nghĩ, từ những người khác tôi đã nhận thấy trên bảng này là một thực tế, cho một, Eclipse không tìm thấy bất kỳ lỗi nào với biến PATH của tôi (mà nó thường làm, nếu MinGW không được bao gồm trong biến Path hoặc một cái gì đó), và bên cạnh các dll yêu cầu là nơi họ nên, nhưng có vẻ như Windows của tôi không thể tìm thấy chúng.

+0

Tôi cho rằng bạn đã kiểm tra xem đó có phải là tệp "thực" và không phải là liên kết tượng trưng không? –

+0

Chúng là các tệp * .dll thực - như tôi đã nói, sao chép chúng vào thư mục với tệp thực thi đã thực hiện thủ thuật, nhưng tôi tìm kiếm một giải pháp "thanh lịch" hơn và độc lập với máy mà chương trình đang chạy. – user988066

+1

chỉ vì tò mò, bạn đã đăng xuất và bật lại. Chúng tôi đã có vấn đề này trước và đăng xuất/đã giúp –

Trả lời

5

Giải pháp "thực sự" thực sự là sao chép DLL cục bộ. Bạn phải gửi dll đó khi vận chuyển EXE của bạn.

+0

Điều này có vẻ phức tạp không cần thiết . Bên cạnh đó, tôi đã nhìn thấy việc triển khai Eclipse trên Windows 7 chạy hoàn hảo mà không có bất kỳ shenanigans tương tự - do đó, những gì sai có thể được với tôi? – user988066

+3

Bạn có thể vượt qua -static để gcc. – Joshua

+1

Mà, theo nghĩa của giáo dân, có nghĩa là ...? Tôi làm điều đó trong Eclipse ở đâu? – user988066

Các vấn đề liên quan