Я сделал много вещей с моим учебным проектом на C ++, для которого stackoverflow мне очень помог. Я всегда старался сделать его как можно более «стандартным», чтобы он был кроссплатформенным. Используя boost здесь и там, поток C ++ 11 и оболочка, которая использует либо сокеты WIN32, либо API BSD. И я решил скомпилировать в RELEASE для друга, чтобы просто выпендриваться, и для этого требовалось установить MSVCPP110.dll на его компьютер 🙁
У меня была эта проблема в начале, но затем я настроил Visual Studio для компиляции MFC как библиотеки STATIC, и это исправило начальные тесты, но я понятия не имею, что я вставил в код, который потребовал бы «моего пользователи «, чтобы установить Visual C ++ Redistribute для простого консольного приложения, которое запускает 2 потока и открывает TCP-сокет в одном из них.
Есть ли у вас какие-либо советы новичку, как я могу проверить, что беспокоит мою систему, ИЛИ способ включить его в исполняемый файл, я видел, как некоторые игры на моем компьютере имеют вышеупомянутую DLL в своих установочных каталогах, это будет работать, если я просто упакую эту DLL с моим исполняемым файлом?
Спасибо за любые предложения по этому вопросу заранее!
PS: после тщательного просмотра моего кода я понял, что это может быть проблемой
#pragma comment(lib, "ws2_32.lib")
Но я не вижу статической версии этой библиотеки: U Есть ли обходной путь к этому. Мне нужна эта библиотека для вызова запуска WSA
WSAStartup(MAKEWORD(2,2), &Winsock);
вам не нужны все файлы, как правило, только 1 или 2
как mfcXXX и msvcrxxx
проверьте свои зависимости, используя http://dependencywalker.com/ и добавить их в свой дистрибутив
Других решений пока нет …