Моя программа не работает на машине друга - PullRequest
0 голосов
/ 02 августа 2010

Я написал игру на C ++ + SFML с использованием Visual Studio 2010 Express. Я упаковал все библиотеки, такие как msvcr100.dll, opengl32.dll и т. Д., Но некоторые люди могут запустить мою игру, а другие не могут: / Я не знаю почему, потому что я добавил все, что необходимо для запуска игры. Люди, которые не могут запустить игру, получают сообщения типа: «Не удалось найти точку входа в процедуру _ftol2 в библиотеке динамических ссылок msvcrt.dll»

Как я могу заставить эту игру работать на всех машинах?

Ответы [ 4 ]

6 голосов
/ 02 августа 2010

Пожалуйста, не копируйте библиотеки DLL.Используйте распространяемый пакет Visual Studio 2010 .Если вы хотите сделать это проще, используйте какой-нибудь инструмент, который позволит вам сделать проект установки.Visual Studio Professional имеет простой и удобный в использовании мастер настройки.

1 голос
/ 02 августа 2010

Пожалуйста, отредактируйте ваше сообщение так, чтобы оно включало РЕАЛЬНОЕ сообщение об ошибке - в противном случае люди начнут угадывать игры и не смогут дать вам такой же хороший ответ, как если бы вы включили всю необходимую информацию в свое сообщение. *

Сообщение об ошибке, вероятно,

"Точка входа в процедуру _ftol2 не может быть расположен в динамическом библиотека ссылок msvcrt.dll "

... что, скорее всего, означает, что вы указали неверную версию msvcrt.dll, и люди, которые могут запустить ваше приложение, случайно установили нужную версию. Чтобы это исправить, предоставьте правильную версию.

1 голос
/ 02 августа 2010

Кажется, что у ваших друзей нет такой же msvcrt.dll, как у вас.Они должны установить распространяемый пакет VC 2010, который имеет все библиотеки, или вы можете статически связать вашу игру со стандартными библиотеками времени выполнения.

Здесь вы можете получить распространяемый пакет (версия x86)

0 голосов
/ 03 августа 2010

Я нахожу проблему, я добавил свой opengl32.dll в этот пакет.Я думаю, что opengl32.dll работает по-разному в некоторых системах, поэтому, когда я удаляю эту библиотеку, все могут запустить мою программу

...