2010-08-03 26 views
6

Tôi đang mã hóa một dự án C++ với Qt Creator. Tất cả mọi thứ đang làm việc tốt (gỡ lỗi, phát hành), nhưng khi tôi chạy trực tiếp biên dịch .exe (đi đến tập tin exe và chạy nó) nó nói mingwm10.dll là mất tích.Thiếu mingwm10.dll

Tôi có thể làm gì với vấn đề này?

Trả lời

6

Đây là những gì bạn có thể làm:

  • như chalup nói, đặt bạn thư mục bin MinGW cho bạn địa phương PATH biến/toàn cầu như thế: My Computer | System Properties | advenced | Environment Variables | Biến hệ thống - chọn PATH chuỗi và nhấn Chỉnh sửa nút. Sau khi hộp thoại xuất hiện, thêm một cái gì đó như thế - C: \ MinGW \ bin

  • Xây dựng, bạn ứng dụng mà không mingw, ví dụ với Qt libraries 4.6.3 for Windows (VS 2008, 194 MB)

  • Chỉ cần đặt mingwm10.dll vào thư mục với tập tin thực thi của bạn

+0

Nếu chúng tôi sử dụng tập tin exe trong hệ thống khác nhau mà không cần cài đặt qt, lần đầu tiên nó yêu cầu mingw10.dll.if chúng tôi sao chép nó vào thư mục, nó sẽ yêu cầu các tập tin dll khác.Nếu chúng ta sao chép tất cả các file dll phụ thuộc nó cho thấy thông báo lỗi. làm thế nào để sửa lỗi này mà không cần cài đặt qt andmingw? nếu không chương trình của chúng tôi sẽ phụ thuộc vào mingw. –

+0

@KIRAN Bạn có thể xây dựng EXE tĩnh (với Qt và mingw libs bên trong) (điều này sẽ làm tăng kích thước cơ sở của EXE, nhưng không cần thêm DLL nữa), hoặc bạn có thể xây dựng EXE tĩnh (tĩnh Qt mà không cần hỗ trợ mingw) - điều đó có nghĩa là khi bạn xây dựng thư viện Qt tĩnh với các phương thức 'configure' &' make', nhưng bạn phải đặt cờ 'configure -no-exceptions ...' - Tôi không thực sự chắc chắn - tốt hơn để kiểm tra điều này) – mosg

+0

u có nghĩa là trong tập tin .pro? Nếu có, làm thế nào để thêm không-exeption? ........ THANK YOU –

2

Bạn cần thêm vị trí của mingwm10.dll vào biến môi trường PATH.

+0

ở đâu? ........... – Snoob

+0

Tôi không biết đường dẫn từ đầu của tôi, nhưng nó ở đâu đó bên trong cài đặt SDK, ví dụ: $ QTDIR/mingw/lib. Tôi sẽ tìm kiếm nó trong thám hiểm và sau đó sao chép nó bên cạnh .exe. Để phân phối, hãy đặt dll vào các dll Qt được chuyển. –

+1

Chỉ cần chính xác hơn: Tôi tìm thấy nó tại 'C: \ Qt \ 2010.02.1 \ qt \ bin \ mingwm10.dll' trên máy tính của tôi. – ereOn

1

Nếu bạn sử dụng Qt như LGPL, bạn nên chấp nhận tốt hơn một vài DLL với EXE của bạn. Nó thực sự không tệ lắm. Khác bạn có thể tự do biên dịch Qt như một thư viện tĩnh hoặc sử dụng các trình biên dịch của Microsoft. Xóa "-máy đọc" trong tất cả các tệp makefiles có thể hữu ích, đặc biệt nếu bạn sử dụng ngoại lệ giữa các chuỗi.

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