Penafian: Ini adalah solusi , bukan solusi untuk jawaban Anda, tetapi masih, kemungkinan yang sangat memungkinkan.
Jika Anda ingin benar-benar yakin tidak ada dependensi dari VS itu sendiri - tetapi ia datang dengan kelemahannya sendiri - dalam pengaturan pembuatan kode Anda dapat memilih untuk pergi dengan Multi Threaded (MT) / Multi Threaded Debug (MD) (untuk debug builds ) bukan MT DLL (MTd) / MT Debug DLL (MDd).
Apa kekurangannya?
- Itu memang meningkatkan ukuran yang dapat dieksekusi dan biner Anda (meskipun jika Anda membuat game ini mungkin dapat diabaikan)
- dikompilasi dengan cara ini tidak akan mendapat manfaat dari pembaruan runtime dll. (mis. jika Microsoft merilis VC ++ 2015 SP2, SP3, SP4 dll.) Tapi itu terserah Anda.
- Lebih banyak penggunaan RAM (juga dapat diabaikan) karena Anda tidak menggunakan kembali kode yang ada / dimuat (DLL)
- Anda harus yakin bahwa semua perpustakaan yang Anda tautkan dikompilasi dengan runtime yang sama, jika tidak, penautan mungkin gagal, atau kesalahan runtime yang menarik mungkin terjadi (mungkin tidak, tetapi hal itu terjadi pada saya sekali seumur hidup dalam proyek lawas yang telah diperbarui ke VS terbaru)
Dan apa kelebihannya?
- executable Anda tidak akan memiliki dependensi "eksternal" dari VS sendiri (tidak ada persyaratan msvc * .dll).
- beberapa orang melihat ini sebagai peningkatan kinerja karena Anda menghilangkan overhead panggilan DLL, sementara ini secara teoritis benar, peningkatannya dapat diabaikan dalam praktiknya
Periksa tautan ini untuk penjelasan yang lebih terperinci dan untuk pit-downfall yang mungkin Anda temui dengan menggunakan runtime statis.
Solusi lain adalah dengan meletakkan semua DLL yang diperlukan di tempat biner Anda. Aplikasi Anda tidak akan mendapat manfaat dari pembaruan (ke pustaka runtime) tetapi hanya itu.
Solusi sebenarnya adalah mendistribusikan aplikasi dalam mode rilis / non-debug dll (MTd) dan menyediakan installer VC ++ yang dapat didistribusikan kembali (dan penginstal perpustakaan lainnya yang mungkin Anda gunakan, misalnya OpenAL, DirectX9, PhysX), dan biarkan pengguna menjalankannya. sebelum menjalankan aplikasi Anda (seperti yang ditunjukkan oleh jawaban lain).
Pastikan juga untuk memberi tahu pengguna bahwa ia mungkin perlu memperbarui driver GPU-nya (karena juga mengandung beberapa runtime untuk banyak aplikasi, misalnya OpenGL, Vulcan).