Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual Studio 2005 - скомпилированный проект не запускается.

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

FlamingWind

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Проблема с Visual Studio 2005. Компилирую тривиальный консольный проект, состоящий только из одного cpp файла:
 
#include <stdio.h>
 
int main(int argc, char* argv[])
{
    printf("test");
    return 0;
}
 
Получаю .exe файл, который запускается лишь на моей машине, на вылетает ошибка с сообщением: "The application has failed to start because its side-by-side configuration in incorrect. Please see the application event log for more detail".
 
Полазил в google, пишут что это возможно из-за неутановленной .NET. НО, у меня проект тупо на C++, тем более .NET на экпериментальных машинах установленна!
 
Конфигурация системы:
1) Pentium Core 2 Duo, Windows Vista x64, Visual Studio 2005 SP1.
1) Pentium Core 2 Duo, WindowsXP x86, Visual Studio 2005 SP1.
 
P.S. Думал что проблема из-за 64 битной оси, поставил старую-добрую 32 битную XP - проблема не решилась.
 
P.S.S. Включаю Multi-threaded (/MT) заместо Multi-threaded DLL (/MD) - все работает... Но это же не совсем выход?

Всего записей: 42 | Зарегистр. 23-11-2006 | Отправлено: 08:58 17-09-2007 | Исправлено: FlamingWind, 09:50 17-09-2007
Mickey_from_nsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FlamingWind
Похоже, что система не распознает твой exe как исполняемый файл. Причин - море. Или у тебя рабочий каталог в другое место смотрит, или есть файл с таким именем в PATH, но он не рабочий, или элементарный вирус.
Напиши подробнее - как компилируешь, как запускаешь - с командной строки или из IDE.

Всего записей: 636 | Зарегистр. 21-10-2002 | Отправлено: 09:29 17-09-2007
FlamingWind

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Стал дальше копать и отредактил первое сообщение, при запуске .exe файла из коммандной строки вылетает ошибка: "is not recognized as an internal or external command, operable program or batch file".
 
А вот если запускать "двойным кликом по .exe файлу": The application has failed to start because its side-by-side configuration in incorrect. Please see the application event log for more detail" - что уже информативней, на мой взгляд.
 
Компилирую просто "нажатием F7". Последний экспиремент проводил просто - создал консольный проект с простой командой printf("test") и ничего в свойствах не менял.
 
P.S. Включаю Multi-threaded (/MT) заместо Multi-threaded DLL (/MD) - все работает... Но это же не совсем выход?

Всего записей: 42 | Зарегистр. 23-11-2006 | Отправлено: 09:34 17-09-2007 | Исправлено: FlamingWind, 09:51 17-09-2007
delagen



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короче проблема похоже в библиотеках сишных...
Обнови их.... что-то типа vcredist_x86 ну или соответственно под 64 ))

Всего записей: 140 | Зарегистр. 19-11-2003 | Отправлено: 10:12 17-09-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Майкрософт изобрел "свое" решение проблемы dll hell (ад длл) - называется Side by Side (бок о бок). Суть заключается в следующем. Когда какое то приложение копирует себе в каталог Windows общедоступные длл, то там могут быть с таким именем. и что бы избежать проблем с тем, что другая прога может не найти свою длл, винда культурно ложит их в каталог SxS и делает приписки в реестре для какого приложения. когда какое то приложение требует длл, она ему подсовывает нужную. Новые приложения знают об этой особенности и в файле манифеста могут указать точную версию длл(цифровую подпись также? - есть такое подозрение), что бы не заниматься копированием. Это обяснение первой проблемы.
При переключении
Цитата:
Multi-threaded (/MT) заместо Multi-threaded DLL (/MD)  
приложение начинает использовать другие длл, которые лежат "там где нужно", тоесть напрямую в каталоге system32 и приложение находит их.
Решить эту проблему можно так. создать файл манифеста, где прописать нужные длл. а на чужой машине установить специальный пакет, который скопирует нужные длл и зарегистрирует их. название точно не помню, но в своём имени он имеет vcredist и может быть найден в каталоге со студией в виде cab.
Зачем МС так сделала? не знаю. раньше все критиковали борланд за то, что либо ехе большие, либо bpl копируй. Теперь подобное делает МС, но на неё язык не подымается
Говорят, что под вистой все длл уже есть и приложение будет работать, достаточно только манифест подложить. Но сам не проверял. Наверное они этими трудностями подталкивают к переходу на Висту/НЕТ

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:39 17-09-2007
AzZ ALiEN



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хз, в тему или нет, но у меня трабл с 2005 Visual Basic (и с 2008 бетой тоже): когда я хочу создать новую форму, он мне пишет: Required registry access is not allowed. Система: Виста ултимейт, пробовал ставить владельца реестра себя: винда не позволяет Но ведь и без этого должно работать, ведь так?!

Всего записей: 14 | Зарегистр. 01-04-2007 | Отправлено: 21:21 21-09-2007
Mickey_from_nsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AzZ ALiEN
Насколько я помню, при начале продаж висты появился проблем с доступом. Майкрософт выпустил какой-то патч. Поищи на их сайте или через update в VS. Там как раз проблема была с разграничением доступа - студия хотела дополнительных правов.

Всего записей: 636 | Зарегистр. 21-10-2002 | Отправлено: 09:46 24-09-2007
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual Studio 2005 - скомпилированный проект не запускается.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru