Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.98/58: Рейтинг темы: голосов - 58, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
1

Программа, написанная на Visual Studio 2010 в Windows7, не запускается Windows XP

24.03.2012, 11:57. Показов 12103. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возможно вопрос поднимался (если да, то можно было бы прилепить), но поиском не нашел.

Создал консольный проект вин32, написал код - все отлично отработало. На компе с винХР не запускается... Я так понимаю, что нужно изменить свойства проекта... Подскажите плз, как поправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2012, 11:57
Ответы с готовыми решениями:

Будет ли всегда программа написанная на Visual Studio 2010 открываться в Visual Studio 2003 ?
Будет ли всегда программа написанная на Visual Studio 2010 открываться в Visual Studio 2003 ?

Программа, написанная в Visual studio 2012 х64 не открывается на других РС
Добрый верер, решил написать простенькую игру на C++ для windows использовал Microsoft Visual...

Не запускается Visual Studio 2010
Установил Visual Studio 2010, но при запуске вылетает окно указанное ниже. Скачать обновление не...

Не запускается Visual Studio 2010
Добрый вечер! Ситуация такая после переустановки VS10, стала вываливаться вот такая лажа(смотрите...

27
577 / 256 / 18
Регистрация: 29.11.2010
Сообщений: 868
24.03.2012, 12:11 2
http://msdn.microsoft.com/en-u... he8ah.aspx
0
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
24.03.2012, 20:29  [ТС] 3
Угу, понятно. А скомпилировать так, чтоб не нужно было добавлять библиотеки нельзя?
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 02:25 4
Не силён я в английском
Не запускается программа на другом компьютере
0
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 10:18  [ТС] 5
Ага, спасибо. Но не помогло.. ( Пишет что отсутствует cc3260mt.dll Копирование это библиотеки в систем 32 или рядом с экзешником не исправляет ситуацию...

Скомпилил в DevCpp, размер экзешника вырос 41 до 410кб и запустилось на ХР. Но все же хотелось бы разобраться с Visual Studio
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 14:27 6
Цитата Сообщение от Битл Посмотреть сообщение
Пишет что отсутствует cc3260mt.dll Копирование это библиотеки в систем 32 или рядом с экзешником не исправляет ситуацию...
Я так понял, с помощью ключей ты сделал так, что ось не требует дополнительных библиотек, которые требовала раньше- ты просто как-то их хитро слинковал с экзешником статически. Но одну библиотеку всё же требует. И то, что наличие её не помогает, очень-очень странно. Скинь экзешник и dll, чтобы я в сети не искал.



Цитата Сообщение от Битл Посмотреть сообщение
Скомпилил в DevCpp, размер экзешника вырос 41 до 410кб и запустилось на ХР.
а там на самом деле есть способы уменьшения экзешника, надо не генерить отладочную информацию или вот, из книги (опция линкёра):
"-s
Удаляет из выполнимоrо файла таблицу проrpаммных символов (symbol tabIe) и
информацию об их перемещаемой адресации (relocation information). Дает такой же
результат, как применение утилиты strip."


Всё это легко ищется и правится в настройках компилятора; можно ещё и оптимизировать код, но я это не пробовал:

"-Olevel
Устанавливает уровень оптимизации rенерируемоrо компилятором кода. При
оптимизации Bcerдa приходится находить компромисс между сокращением размера
кода и занимаемой памяти, и увеличением скорости выполнения проrраммы. По
умолчанию применяется oo, что означает отказ от применения оптимизации. Если
в опции значение level не указано то оно считается равным 1."

Ну и так далее, там много чё написано.

Добавлено через 8 минут
И да, тут ещё дело может быть в разрядности регистра, не исключаю. Если проект заточен под 32-разрядный проц, то он запустится на 64-разрядном проце, но обратное неверно.
0
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 15:48  [ТС] 7
Сорри, ошибся.. Требует msvcp100d.dll

Исходник, экзешник и длл в атаче.

Если не сложно, глянь и код. Это с прошлой темы он... Вроде правильно работает, но там то что закоментировано что-то глючит... Не поравильно работает получение привилегий дебага, определение региона и с VirtualAlloc как-то не сложилось...
Вложения
Тип файла: rar Debug.rar (146.0 Кб, 51 просмотров)
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 16:14 8
Я в прошлый раз ещё хотел спросить, это что?
C++
1
#include <iostream>*
я имею ввиду звёздочку; она вообще чего тут? зачем? MSVS-компилятор хавает?

Запустил калькулятор; запустил test, вроде всё нормально отработало:
C++
1
2
3
4
5
процесс найден
Ищем адрес сигнатуры
Маска найдена
Найденный адрес = 0002001C
Для продолжения нажмите любую клавишу . . .
приаттачился к процессу, msvcp100d.dll НЕ ЗАГРУЖЕНА в память. msvcp100.dll загружена, а msvcp100d.dll нет. Предварительный вывод: msvcp100d.dll не требуется. (XP SP(2))
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
25.03.2012, 16:20 9
Установи vcredist.exe от 2010 студии и заработает всё...
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 16:26 10
Использовал DoRtlAdjustPrivilege, ошибок не заметил
0
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 16:35  [ТС] 11
Цитата Сообщение от Deviaphan Посмотреть сообщение
Установи vcredist.exe от 2010 студии и заработает всё...
Это кто и куда его установить? )))

Запустил калькулятор; запустил test, вроде всё нормально отработало:
Ты студией компилил или мой экзешник пускал? На том компе где пускали это экзе предварительно студии не было... ХЗ что там...

Спасибо что глянул!!
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 16:44 12
Студию не трогал, запустил готовый экзешник; потом компильнул в Dev-Cpp (обработав мелким напилником)- результаты одинаково предположительно положительные.

Добавлено через 4 минуты
Цитата Сообщение от Битл Посмотреть сообщение
На том компе где пускали это экзе предварительно студии не было
не было, ага. Короче, msvcp100d.dll не испоьзуется, а msvcp100.dll используется, судя по названию, это примочка MSVS, у меня MSVS есть, а у других нет. Поэтому надо кинуть в папку с проектом msvcp100.dll, но не msvcp100d.dll
1
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 17:00  [ТС] 13
Цитата Сообщение от kravam Посмотреть сообщение
Поэтому надо кинуть в папку с проектом msvcp100.dll, но не msvcp100d.dll
В папку с проектом или рядом с готовым экзе?
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 17:01 14
с готовым экзешником
0
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 17:07  [ТС] 15
*(FARPROC *)&RtlAdjustPrivilege = GetProcAddress(GetModuleHandle("ntdll.dll"), "RtlAdjustPrivilege");

При компиллировании релиза ругается на эту строку и подчеркивает ntdll.dll
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
25.03.2012, 17:14 16
Чёрт его знает, у меня в MSVS вообще кучу ошибок вывалило
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
25.03.2012, 17:32 17
Цитата Сообщение от Битл Посмотреть сообщение
то кто и куда его установить?
Это скачать по запросу vcredist.exe MSVC 2010. С учётом версии сервис пака на студии.
Устанавливать на тот компьютер, на котором должна запускаться программа, собранная в Visual Studio.
0
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 19:42  [ТС] 18
Цитата Сообщение от Deviaphan Посмотреть сообщение
Это скачать по запросу vcredist.exe MSVC 2010. С учётом версии сервис пака на студии.
Устанавливать на тот компьютер, на котором должна запускаться программа, собранная в Visual Studio
Спасибо, но это не выход.

Приложение пошло после того как с экзешником положили обе длл msvcp100.dll msvcp100d.dll.

При компиляции, кста , в логе вылазит
"1.exe": Загружено: "C:\Windows\System32\ntdll.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\kernel32.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\KernelBase.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\user32.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\gdi32.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\lpk.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\usp10.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\msvcrt.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\advapi32.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\sechost.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\rpcrt4.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\msvcp100.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\msvcr100.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\imm32.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\msctf.dll", Невозможно найти или открыть файл PDB
"1.exe": Загружено: "C:\Windows\System32\apphelp.dll", Невозможно найти или открыть файл PDB
Поток 'Поток Win32' (0x1198) завершился с кодом 0 (0x0).
Программа "[3292] 1.exe: Машинный код" завершилась с кодом -1073741510 (0xc000013a).
Можно как-то впихнуть в экзешник эти библиотеки?
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
25.03.2012, 20:01 19
Цитата Сообщение от Битл Посмотреть сообщение
Невозможно найти или открыть файл PDB
Это не ошибка, а предупреждение. Ты же не собираешься отлаживать MFC? Тогда забей на это.
1
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
25.03.2012, 20:16  [ТС] 20
Ок, пасиб. Ну, а по теме? Средствами студии можно как-то приатачить msvcp100.dll msvcp100d.dll чтоб созданное приложение работало и на других машинах?
0
25.03.2012, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2012, 20:16
Помогаю со студенческими работами здесь

В Visual studio C++ 2010 не запускается исплняемый файл
При компиляции 1&gt;Построение успешно завершено. Но 1&gt;C:\Program Files...

Программа и Visual Studio 2010
Программу взял отсюда,но она почему -то не работает в VS 2010 #include &lt;iostream.h&gt; int main() {...

Пустая программа запускается с предупреждением (Visual C++ 2010)
ДОброго дня! Создаем новый проект. Получаем следующий код: // Test.cpp : Defines the entry...

RAD Studio 2010 программа не работает под XP но запускается!
программа написанная на RAD Studio 2010 запускается на XP но при нажатии кнопки ни чего не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru