Nếu thời gian chạy C++ msvcr80.dll bị thiếu trong thư viện được biên dịch, có cách nào để xác định phiên bản nào đã được sử dụng để tạo thư viện hoặc để chạy nó trên phiên bản sau của msvcr80.dll không?Thiếu msvcr80.dll
Trả lời
Gói VCR SP1 CRT sẽ được cài đặt cả phiên bản RTM và SP1 của thời gian chạy C vào %SystemRoot%\WinSxS
(giả sử bạn đang sử dụng Windows XP hoặc Vista; Windows 2000 không hỗ trợ các hội đồng cạnh nhau). Nếu bạn đã cài đặt VC8, gói CRT có thể phân phối lại là %ProgramFiles%\Microsoft Visual Studio 8\VC\redist
. Nếu bạn chưa cài đặt VC8, tôi nghĩ bạn có thể tải xuống gói CRT redistributable từ Microsoft.com.
Ngoài ra, để tìm hiểu chính xác những gì CRT phiên bản (ví dụ RTM so với SP1) là cần thiết bởi một số nhị phân đã được xây dựng với VC8 hoặc VC9, bạn có thể trích xuất các biểu hiện:
mt.exe -inputresource:mydll.dll;#1 -out:mydll.dll.manifest
Hãy tìm một cái gì đó như này:
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
Thực thi của tôi yêu cầu phiên bản CRT 9.0.21022.8. Số phiên bản này cũng được nhúng vào trong WinSxS
tên thư mục con (tiếc là nó được bao quanh bởi băm):
D:>dir c:\windows\WinSxS\*VC90.CRT*
12/14/2007 02:16 AM <DIR> amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b
12/14/2007 02:00 AM <DIR> x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91
Dependency Walker sẽ giúp bạn trả lời câu hỏi này.
Nếu bạn đang authoring và phân phối các DLL đã đề cập, xem xét sử dụng một mô-đun hợp nhất cho Visual C++ 8.0 CRT như một phần của trình cài đặt của bạn.
Tôi nhận thấy rằng có một công cụ mt.exe mới và Visual C++ CRT mới trong Windows SDK 6.1. Tôi sử dụng mô-đun hợp nhất làm điều kiện tiên quyết trong trình cài đặt InstallShield 12 với thành công lớn.
- 1. MSVCP110.dll thiếu
- 2. Thiếu mingwm10.dll
- 3. C++/CLI Thiếu MSVCR90.DLL
- 4. Mingw libgcc_s_sjlj-1.dll thiếu
- 5. Cải thiện thông báo lỗi thiếu dll
- 6. DLL bị thiếu khi khởi chạy ứng dụng Qt GUI
- 7. Thiếu DLL khi chạy dưới dạng tập lệnh
- 8. Máy chủ SQL SMO phàn nàn về việc thiếu DLL
- 9. Chương trình không thể khởi động vì cygwin1.dll bị thiếu ... trong Eclipse CDT
- 10. Tạo Windows .exe với gui2exe không hoạt động do thiếu MSVCP90.dll
- 11. Tại sao dll tải bị thiếu trong danh sách mô-đun Visual Studio?
- 12. Chương trình không thể khởi động vì * .dll bị thiếu - MinGW, Eclipse, Windows 7
- 13. EventMachine gem workaround gây thiếu tập tin dll lỗi ruby, Windows 7
- 14. Tôi có thể gặp lỗi dll thiếu trong khi tải ứng dụng trong C# không?
- 15. System.ServiceModel thiếu
- 16. C++ tbb_debug.dll thiếu
- 17. "Lỗi khi tải DLL" khi biên dịch DLL trong VB6
- 18. System.ServiceModel.DomainServices.EntityFramework DLL ở đâu?
- 19. CreateProcess STATUS_DLL_NOT_FOUND - dll nào?
- 20. Thiếu DotNetOpenAuth.ApplicationBlock trong OpenID + OAuth
- 21. Microsoft.Office.Cố tham chiếu bị thiếu
- 22. Tự động tải một DLL
- 23. Thiếu AVFoundation.framework
- 24. MSVCP100D.dll thiếu
- 25. Proguard.cfg Thiếu
- 26. webrat_steps.rb thiếu
- 27. Thiếu QtCore
- 28. Thiếu Jythonc
- 29. Chuyển đổi 32 bit dll sang 64 bit dll
- 30. truy cập .net2.0 dll in a .net 4.0 dll
Mt.exe là công cụ được cung cấp trong Gói Microsoft SDK/Visual Studio để đánh giá tệp kê khai. Bạn có thể tìm thêm thông tin về mt.exe trên trang tài liệu MSDN: http://msdn.microsoft.com/en-us/library/aa375649(VS.85).aspx (hãy chắc chắn và xem nội dung người dùng ở phía dưới) – Steve