Скомпилируйте (?) Вопрос. Visual studio c ++ 2008 - PullRequest
2 голосов
/ 05 октября 2009

Есть приложение, которое я использую на нетбуке с XP для тюнинга автомобиля. Работало просто отлично. Затем мне нужно было сделать простую модификацию (вывод в STDOUT, а не в файл), поэтому я получил исходный текст от автора.

В моем нетбуке нет места для компилятора. У меня Visual Studio C ++ 2008 на рабочем столе Windows 7. Я внес коррективы, скомпилировал и протестировал на рабочем столе, и он отлично работал. Затем я скопировал исполняемый файл на нетбук, и он не запустится

«Не удалось запустить данное приложение, поскольку конфигурация приложения неверна. Повторная установка приложения может решить эту проблему»

Оригинальный (предварительно скомпилированный) exe работает нормально. Чтобы исключить мои изменения, я скомпилировал исходный код без модов, и он все еще не работал. Исполняемый файл прекрасно работает на 7-й машине, а также на другой машине с Win Vista, которую я пробовал.

Так что, очевидно, что-то с машиной XP и способом компиляции исполняемого файла. Я действительно понятия не имею, как это работает, поэтому я не знаю, что попробовать.

Ответы [ 3 ]

6 голосов
/ 05 октября 2009

Пара идей:

Как сказал выше Кит, это проблема DLL / манифеста.

  1. Получите распространяемый Visual Studio 2008 (для соответствующей платформы приложения) и установите его на нетбук.

  2. Если это не поможет: используйте Dependency Walker , чтобы узнать, какие другие библиотеки DLL вам не нужны.

4 голосов
/ 05 октября 2009

Это потому, что зависимость / DLL, скомпилированная в ваше приложение, не существует на платформе, на которой вы работаете.

Откройте окно просмотра событий Windows и просмотрите журнал приложения. Там будет запись об ошибке и имя DLL, которая отсутствует. Скопируйте / установите эту DLL на вашей целевой платформе.

Я думаю, что ваша среда выполнения vc изменилась в Visual Studio 2008, и вам нужно скопировать последнюю версию на вашу целевую платформу. Если вы не знаете, где взять библиотеку зависимостей, напишите здесь имя, и мы увидим, что мы можем с этим сделать.

2 голосов
/ 05 октября 2009

Вы можете проверить настройки своего проекта и использовать статически связанную среду выполнения вместо DLL.

Настройки проекта, C / C ++ -> Генерация кода. Убедитесь, что вы используете библиотеку времени выполнения, которая не является DLL. (Так, например, многопоточная отладка вместо многопоточной отладочной DLL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...