2013-10-31 23 views
14

Có thể thay đổi tệp khôi phục thành msvcr100 để các máy tính khác có thể chạy chương trình mà không gặp sự cố với tệp .dll không? Nếu vậy làm thế nào để tôi có được điều đó?Visual Studio 2013 msvcr120 để msvcr100

Tôi biên dịch chương trình và những người khác không thể sử dụng vì thiếu tệp msvcr120.dll. Vì vậy, nó sẽ là tuyệt vời nếu tôi có thể thay đổi bằng cách nào đó.

Có thể cài đặt Plattformtoolset không có phiên bản Visualstudio cũ hơn không?

+1

Bạn hy vọng điều gì sẽ xảy ra khi máy đó không có cài đặt msvcr100.dll? Nó chỉ đơn thuần là có khả năng là nó hiện diện, tránh tùy thuộc vào lòng tốt của trình cài đặt của sản phẩm khác. Và tránh giả sử bạn thực sự cần một trình cài đặt để làm điều đó cho bạn, chỉ cần sao chép msvcr120.dll và bạn bè vào cùng một thư mục cùng với các tệp nhị phân của riêng bạn. –

Trả lời

29

Bạn có một vài lựa chọn:

  1. Cài đặt VS2010 trên máy tính, và thiết lập các tùy chọn vBulletin Toolset để V100.
  2. Cài đặt Windows SDK phiên bản 7.0A từ here, NÊN/CÓ THỂ thêm tùy chọn mới vào menu Công cụ nền tảng trong VS2013. Bắt làm việc này có thể khá khó sử dụng. (Nó hiếm khi làm việc cho tôi ngay ra khỏi hộp). Lưu ý nếu bạn sử dụng MFC trong ứng dụng của bạn, tùy chọn này không phải là bất kỳ tốt cho bạn - Thư viện MFC không được bao gồm trong SDK này.
  3. Đưa người dùng của bạn cài đặt Gói Microsoft Red 2013 C++ Redistributable từ here và tiếp tục bất kể.
  4. Liên kết tĩnh đến thời gian chạy thử của VS2013, thay vì sử dụng liên kết động với DLL thời gian chạy. Bạn có thể đặt cài đặt này trong IDE thông qua cài đặt dự án theo C/C++ > Code Generation > RunTime Library > Multi-threaded (/MT) hoặc (/MTd). Tất cả các mã cần thiết sẽ được biên dịch vào ứng dụng của bạn, điều này sẽ làm cho các tệp lớn hơn, nhưng sẽ tránh được các vấn đề bạn đề cập.
+6

Giải quyết nó bằng 4) lúc đầu. Cảm ơn rất nhiều! – BennX

+1

@lolando Tôi vô tình nhai bình luận của bạn trong khi cố gắng bỏ phiếu cho nó, xin lỗi: trong C/C++> Code Generation> thư viện RunTime, bạn có 4 lựa chọn: Static/Dynamic & Debug/Release. Static Release là/MT và Static Debug là/MTd – Baldrick

+1

Cảm ơn rất nhiều. Có thể thêm vào câu trả lời là tốt. – BennX

2

Trong Project > Properties > General, có cài đặt được gọi là Platform toolset. Bạn có thể sử dụng nó để thay đổi phiên bản của chuỗi công cụ xây dựng được sử dụng.

screenshot

+1

và điều đó có nghĩa là Visual Studio 2010 cũng phải được cài đặt trên máy. – Benoit

+0

vì vậy tôi thực sự cần phải cài đặt 2010 quá để có được bộ công cụ nền tảng đúng. hoặc tôi nhận được nó mà không có vs2010 – BennX

1

Một điều cần xem xét liên quan đến việc thay đổi platform toolset: nó thay đổi trình biên dịch, do đó, C++ tính năng mới hơn hơn Visual Studio 2010 sẽ không biên dịch. Nó cũng đòi hỏi phải cài đặt phiên bản khác.

cách tốt nhất cách xử lý việc này là cung cấp cho họ Visual C++ Redistributable for Visual Studio 2013.

Bạn có thể tự làm hoặc tạo trình cài đặt.

+1

Hoặc liên kết tĩnh ... – JBentley

+0

@JBentley đúng, nhưng tôi nghĩ rằng nó là đơn giản hơn để chỉ cần cài đặt các dlls yêu cầu. Làm điều đó một lần, và bạn đã hoàn thành công việc này hoặc bất kỳ ứng dụng nào khác được xây dựng. – crashmstr

+1

Tôi muốn nói điều đó phụ thuộc vào dự án của bạn. Nếu bạn không quá phụ thuộc vào các phụ thuộc bên ngoài, thì việc chuyển sang liên kết tĩnh chỉ là vấn đề thay đổi một thiết lập trong các tệp dự án của bạn - dễ dàng hơn nhiều so với việc thay đổi quá trình xây dựng của bạn để bao gồm redistributable (yêu cầu người dùng của bạn cài đặt IMO thiết kế theo cách thủ công). – JBentley

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