Chương trình được xây dựng với MVS2012 thiếu MSVCR120D.dll


-1

Tôi đã bắt đầu lập trình trên Visual Studio Express 2012 thay vì Code :: Blocks, đẹp hơn, nhưng bây giờ tôi gặp vấn đề lớn: Mục tiêu của tôi là phát hành một dự án OpenSource miễn phí với nhiều chương trình giáo dục / hài hước có thể TẢI XUỐNG những người khác, nhưng khi họ làm như vậy, nó nói rằng "MSVCR120D.dll" bị thiếu, vì vậy họ không thể mở bất cứ điều gì! Dự án chính xác tương tự đã được biên dịch trên Code :: Blocks và mọi thứ đều hoạt động hoàn hảo, nhưng bây giờ với Visual Studio không có gì hoạt động!

Vì vậy, đây là câu hỏi của tôi: Làm thế nào tôi có thể biên dịch mã của mình (chỉ một tệp .c hoặc .cpp) để những người khác có thể chạy nó mà không gặp vấn đề gì?


Tại sao họ không thể tải xuống VC ++ Redistributable từ Microsoft?
Ramhound

Các chương trình tôi đã viết thực sự dành cho công chúng lớn và bình thường, có thể không có nhiều kiến ​​thức về máy tính và một số người không muốn cài đặt bất cứ thứ gì ... Có cách nào, giống như tất cả các phần mềm hiện có, để biên dịch mã của tôi để không có gì là cần thiết để cài đặt?
lolgab123

Đó là câu hỏi: Làm thế nào để bạn làm điều đó? Các chương trình của tôi chỉ sử dụng các thư viện và tiêu đề cơ bản như <stdlib> hoặc <string> ... Xem tại docs.google.com/file/d/0B2DQgwgiU8LZOWlYSEpodDRsWjA/edit
lolgab123

Câu trả lời:


2

Nếu nó bị thiếu MSVCR*D.dll, đó là bản dựng gỡ lỗi. Thời gian chạy gỡ lỗi không phải là một phần của gói phân phối lại. Chỉ cần xây dựng một phiên bản phát hành.

Oh và nhân tiện: Số 120 chỉ ra Visual C ++ 2013, không phải 2012.


ồ, tôi không muốn biết tùy chọn này ... tôi thực sự xin lỗi, nhưng cảm ơn! Tôi sẽ kiểm tra sớm và cho bạn biết nếu nó hoạt động
lolgab123

Ồ, có lẽ ... Đó là phiên bản 12.0, vì vậy năm 2010 là 10.0, tôi đã nghĩ rằng 12.0 là năm 2012. Nó có thay đổi gì không?
lolgab123

Không. Điều đó chỉ có nghĩa là bạn đang sử dụng phiên bản VC ++ cập nhật hơn. Nó có liên quan khi quyết định cài đặt gói phân phối lại nào.
Daniel B

1

Bạn có thể xây dựng ứng dụng của mình với thời gian chạy tĩnh bằng cách sử dụng cờ biên dịch / MT. Điều này sẽ loại bỏ yêu cầu cài đặt thời gian chạy khi chạy tệp nhị phân đã biên dịch.

Thông tin thêm về cờ trình biên dịch: https://msdn.microsoft.com/en-us/l Library / 2kzt1wy3.aspx


Cảm ơn, sẽ kiểm tra xem nếu giải pháp đầu tiên (chuyển sang chế độ phát hành) không hoạt động
lolgab123

@ lolgab123 Bạn luôn có thể thực hiện cả hai, theo cách này, người dùng sẽ không phải cài đặt gói Redistributable Visual C ++.
Daniel B

Được rồi cảm ơn! Tôi chắc chắn sẽ kiểm tra tối nay! Tôi cũng sẽ kiểm tra câu trả lời này nếu tôi cũng có thể;)
lolgab123

mmmhhhh ... Nhờ liên kết, có vẻ như trường hợp thích hợp đang sử dụng MD không / MT ... Và bạn sử dụng nó như thế nào? Có phải chỉ đơn giản là / MD [_MD] ở đâu đó trong các dòng mã đầu tiên?
lolgab123

@ lolgab123 Bạn có thể đặt các tùy chọn trình biên dịch trong IDE: msdn.microsoft.com/en-us/l Library / 300tzxa.aspx Để biết thêm thông tin về sự khác biệt giữa / MT và / MD, vui lòng xem tại stackoverflow.com/a / 6799647
ilian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.