2015-10-07 12 views
36

Tôi vừa phát triển chương trình đầu tiên của mình bằng C++ và tôi muốn hiển thị nó với một trong những người bạn của tôi. Đáng buồn thay, khi anh ta cố gắng để mở exe nó nhận được một lỗi mà nói "MSVCP140.dll là mất tích". Tại sao sự cố này xảy ra và làm cách nào để khắc phục sự cố này?MSVCP140.dll thiếu

Trả lời

53

Hoặc làm cho bạn bè của bạn tải về DLL runtime (@ câu trả lời Kay), hoặc biên dịch các ứng dụng với liên kết tĩnh.

Trong studio trực quan, hãy truy cập Project tab -> properties - > configuration properties -> C/C++ -> Code Generation trên thư viện thời gian chạy chọn /MTd cho chế độ gỡ lỗi và /MT cho chế độ phát hành.

Điều này sẽ khiến trình biên dịch nhúng thời gian chạy vào ứng dụng. Tệp thực thi sẽ lớn hơn đáng kể, nhưng nó sẽ chạy mà không cần bất kỳ dll thời gian chạy nào.

+0

Bạn có thể thêm số lớn "hello world.exe" với liên kết động và tĩnh không? – kay

+3

@Kay Liên kết tĩnh thường chỉ bao gồm những gì cần thiết, không phải mọi thứ trong thư viện. Việc tăng kích thước của tệp thực thi sẽ dựa trên thời gian chạy C được sử dụng. – Andy

+0

Trên thực tế, không cần phải liên kết với phiên bản gỡ lỗi của thời gian chạy, ngoại trừ bạn muốn gỡ lỗi thư viện thời gian chạy. – user1810087

-1

Đó có thể là thư viện thời gian chạy C++. Vì nó là một DLL nó không được bao gồm trong chương trình thực thi của bạn. Bạn của bạn có thể tải xuống các thư viện đó từ Microsoft.

+1

Rất tiếc, -1. Một câu trả lời dọc theo dòng * "Đây có lẽ là những gì sai, và bạn của bạn bằng cách nào đó có thể giải quyết điều này" * không phải là một câu trả lời. Thêm vào đó, CRT không chỉ là một DLL. – IInspectable

52

PC của bạn của bạn thiếu DLL hỗ trợ thời gian chạy cho chương trình của bạn:

+1

Đây là một trong những điều mà ứng dụng phải đối mặt với như là một phần của việc triển khai/thiết lập của họ vì không phải mọi thứ mà ứng dụng của bạn sử dụng đều được tích hợp vào hệ điều hành. Xem [Triển khai các ứng dụng Desktop gốc (Visual C++)] (https://msdn.microsoft.com/en-us/library/zebw5zk9.aspx). Lưu ý rằng nếu ứng dụng của bạn là một ứng dụng Windows Store, Cửa hàng sẽ chăm sóc triển khai Visual C++ CRT cho bạn. –

+0

Tôi nhận được lỗi tương tự trên máy tính của tôi, mặc dù tôi đã cài đặt Visual Studio 2015 đầy đủ. Trình cài đặt redistributable thoát, nói rằng phiên bản mới hơn đã được cài đặt. Có suy nghĩ gì không? – matth

2

Đó thường có nghĩa là bạn bè của bạn không có Redistributable microsoft cho Visual C++. Tôi tất nhiên giả sử bạn đang sử dụng VC + + và không MingW hoặc annother trình biên dịch. Kể từ khi bạn của bạn không có cài đặt VS cũng không có đảm bảo ông đã cài đặt lại.

VC++ Distro

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