Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Các DLL cần để chạy MFC program viết bằng VC++2008???

  1. #1
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Mặc định Các DLL cần để chạy MFC program viết bằng VC++2008???

    Bình thường để chạy một ứng dụng MFC viết bằng Visual C++ 2008 thì máy người dùng phải cài Visual C++ 2008 Redistributable Package.

    Nhưng nếu tớ ko muốn người dùng phải cài cái đó thì cần kèm theo các DLL nào?
    Thanks.
    pEnGwINUS.

  2. #2
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Cái này bên 2k8 thì zkday không rõ nhưng bên VC6 tùy trong chương trình của bạn có xài cái nào thôi.
    cách mình hay làm là kiếm một thằng bạn nó ko học IT mượn máy của nó: chép chương trình của mình vào run thử nó la lên thiếu cái dll nào, chạy về nhà copy nó vào cứ làm như vậy khi mà run được là thành công. cách này hơi trâu bò nhỉ

    cách thứ 2(cách chuối nải ) là chọn chế độ build là static link libary lúc tạo project là xong, khỏi phải quan tâm

  3. #3
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    cách mình hay làm là kiếm một thằng bạn nó ko học IT mượn máy của nó: chép chương trình của mình vào run thử nó la lên thiếu cái dll nào, chạy về nhà copy nó vào cứ làm như vậy khi mà run được là thành công. cách này hơi trâu bò nhỉ
    Mình cũng làm như vậy rồi, tiếc là nó ko báo thiếu cụ thể file gì mà chỉ báo lỗi chung chung. Mình thử với rất nhiều file DL có liên quan đến đến MFC mà vẫn chưa được.

    Cách 2:...hì hì...nếu ko có cách nào khác thì phải đành ăn chuối thôi.
    pEnGwINUS.

  4. #4
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Mình nhớ trong Windows XP thì nó thiếu file lúc chạy là nó la làng lên thiếu file gì liền à giả sử khi mình test thì (thiếu file xxxMFC...dll gì gì đó). không biết mấy thằng khác làm sao.

  5. #5
    Ngày gia nhập
    12 2007
    Bài viết
    9

    Cách 1: đơn giản nhất là kèm theo "Visual C++ 2008 Redist" file, khoảng .7MB thôi. So với bộ .NET FW 2.0 thì chẳng ăn nhằm gì

    Cách 2: phải lọc các dll tùy theo ứng dụng của cậu liên kết với thư viện nào. Tôi giả sử các cậu biên dịch chế độ release, dynamic link, target machine = 86 và native code.
    Sẽ phải cần dll sau: msvcr90.dll
    Nếu có dùng STL thì cần thêm: msvcp90.dll
    Nếu có dùng ATL/WTL thì thêm: atl90.dll
    Nếu có dùng MFC+ANSI thì thêm: mfc90.dll
    Nếu có dùng MFC+UNICODE thì thêm: mfc90u.dll
    Nếu có dùng OpenMP thì thêm vcomp90.dll
    Ngoài ra nếu dùng MFC nhưng build cho các language non-English thì phải thêm các thư viện của từng ngôn ngữ tương ứng, như mfc90ita.dll (Ý), mfc90jpn.dll (Nhật) ...

    Có nhiều tình huống tuy collect đầy đủ các dll này nhưng ứng dụng vẫn không thể chạy được là do nó cần được thiết lập manifest (hỏi MSDN sẽ rõ). Đó cũng là lý dùng Redistributable Package đơn giản hơn.

  6. #6
    Ngày gia nhập
    07 2007
    Nơi ở
    TP.HCM
    Bài viết
    199

    Mặc định Các DLL cần để chạy MFC program viết bằng VC++2008???

    Bạn dùng chương trình Dependency Walker có kèm sẵn trong bộ VS để xem nó bao gồm thư viện nào thì chép theo thư viện đó mà thôi

  7. #7
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Hình như mấy bạn BUILD ở mode DEBUG nó chạy mới cần DLL.

    Build ở Release thì chả cần cái file DLL nào hết.

    Quên!
    Chọn chế độ "static library" nữa.
    Đã được chỉnh sửa lần cuối bởi ZCoder87 : 25-10-2008 lúc 11:09 AM.

  8. #8
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Trích dẫn Nguyên bản được gửi bởi formaT
    Cách 2: phải lọc các dll tùy theo ứng dụng của cậu liên kết với thư viện nào. Tôi giả sử các cậu biên dịch chế độ release, dynamic link, target machine = 86 và native code.
    Sẽ phải cần dll sau: msvcr90.dll
    Nếu có dùng STL thì cần thêm: msvcp90.dll
    Nếu có dùng ATL/WTL thì thêm: atl90.dll
    Nếu có dùng MFC+ANSI thì thêm: mfc90.dll
    Nếu có dùng MFC+UNICODE thì thêm: mfc90u.dll
    Nếu có dùng OpenMP thì thêm vcomp90.dll
    Mình còn cho nhiều DLL hơn thế mà ko được.

    Mình build DLL ở chế độ Static Library thì ko được. Nó báo:
    Code:
    #error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
    ------------------
    -He he mình sửa được rùi.
    Mình vào stdafx.h thêm #define _AFXDLL
    Vào Project Properties > Configuration Properties > C/C++ > Code Generator > Runtime Library > /MD
    -----------------
    Nhưng đem máy khác vẫn ko chạy được. Lần này báo: "This application failed to initialize properly (0xc0150002)"
    Đã được chỉnh sửa lần cuối bởi hieubm : 25-10-2008 lúc 11:33 AM.
    pEnGwINUS.

  9. #9
    Ngày gia nhập
    10 2007
    Bài viết
    169

    + Nếu bạn dùng VC++ 6.0, build dạng release thì chép sang máy khác sẻ chạy bình thường!

    + Còn nếu dùng vesion 7.0 trở lên thì add thêm setup project (hay setup wizard) vào chung solution, sau đó chọn project cần tạo setup là được! Khi build setup project, nó sẻ tạo ra file setup cho chương trình của bạn!

    -He he mình sửa được rùi.
    Mình vào stdafx.h thêm #define _AFXDLL
    Vào Project Properties > Configuration Properties > C/C++ > Code Generator > Runtime Library > /MD
    - Giết người không dao... !

  10. #10
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Trích dẫn Nguyên bản được gửi bởi RL
    - Giết người không dao... !
    Khi mình new project thì nó mặc định là MDd (Multithreaded Debug DLL)
    Nó khác MD như nào hả bạn?
    pEnGwINUS.

Các đề tài tương tự

  1. Visual C++® 2008 How to Program, 2/E có thể tìm được không?
    Gửi bởi LinuxFrenzy trong diễn đàn Công cụ, ebooks VC++
    Trả lời: 0
    Bài viết cuối: 20-07-2012, 11:03 PM
  2. Không tạo được project win32 console program bằng Visual Studio 2008?
    Gửi bởi while trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 5
    Bài viết cuối: 16-10-2011, 04:29 PM
  3. Không chạy được chương trình viết bằng VC++ 2008 Express Edition
    Gửi bởi anhtuan_dt trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 07-10-2009, 08:22 PM
  4. Xin ebook Visual C# 2008 How to Program
    Gửi bởi dieucay555 trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 3
    Bài viết cuối: 13-12-2008, 05:48 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn