Войти
ПрограммированиеФорумГрафика

EXE. не работает на других компах

Страницы: 1 2 Следующая »
#0
0:40, 23 апр. 2010

Подскажите как быть. У меня есть проект Win32, к нему подключены библиотеки OpenGL. Откомпиленый exe-ик работает на моем компе как надо, но на других машинах отказывается работать. Вылетает ошибка мол файл не настроен. Насколько я понял exe-ик нужные библиотеки не находит. Как это исправить?


#1
0:50, 23 апр. 2010

Настрой свой проект на статическую линковку с Runtime Library
Скомпиль в релизе
Скачай depwalk http://www.dependencywalker.com/ и проверь что ВСЕ подключенные тобой ДЛЛки (стандартные виндовые не считаются) не используют никакую MSVC*.DLL
Тогда заработает

#2
0:51, 23 апр. 2010

Wiedzmin1270
> Вылетает ошибка мол файл не настроен.
Стандартная ошибка при запуске программ, собранных из новой студии, на компьютере без установленной на нём студии. Лечится либо собиранием проекта со статической линковкой рантайма, либо установкой пакета от МС(ms redistributable) на целевом компьютере.

#3
0:54, 23 апр. 2010

Гугл закрыт на учёт?

А проблема связана с манифестом (точнее с невозможностью загрузить требуемое манифестом, в данном случае).

Начиная от vs2005 known bug про неправильную версию CRT dll в манифесте,
заканчивая вообще отсутствием\некорректностью манифеста (правка: исключено, т.к. на твоем компе запускается).

#4
2:18, 23 апр. 2010

VC++ runtime в данном случае,  и depwalk как говорит kvakvs  - на будущее.

#5
5:37, 23 апр. 2010
Надо эту тему прилепить высоко высоко и выделить большими мигающими красными буквами, а справа приделать грудастую блондинку чтобы внимание привлекала:)

p.s. сколько уже можно одно и то же спрашивать...

#6
8:25, 23 апр. 2010

Сделал статическую линковку, отключил манифест. Теперь вылазит следующая ошибка: 1>mt.exe : general error c101008a: Failed to save the updated manifest to the file "..\Debug\Map.exe.manifest".

#7
9:26, 23 апр. 2010

Wiedzmin1270
Не, отключать его не надо. Ты погляди что в нем содержится, зависимости от каких сборок?
Можно тупо ехешку посмотреть, в конце неё манифест в текстовом виде, интересны тэги assemblyIdentity.

правка: вообще если ты все перевел на статическую линковку, всё должно работать, манифест верни только.

#8
10:20, 23 апр. 2010

Wiedzmin1270
> VC++ runtime
------------------------------======================== VC++ runtime ===============================-----------------------------
--------------------------------======================= dependencywalker ===========================--------------------------------

Vitorio
Так пойдет?

#9
10:24, 23 апр. 2010

Vitorio
Не всегда есть возможность сделать /MT
И тогда придется разбираться что происходит на самом деле.

#10
12:10, 23 апр. 2010

А зачем вообще использовать манифест - кроме проблем от него пользы нет
Очередное кривое решение "давно решенной проблемы dll hell"

#11
12:23, 23 апр. 2010

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


апд: а вообще предлагаю в совет вынести, типа совет создать и там расписать ситуацию и ее решенние, кол-во тем может немного уменьшится, а при появлении такой темы, можно будет кидать ссылку на совет.

#12
13:24, 23 апр. 2010

Zakus
> Так пойдет?
В смысле?:)

#13
13:44, 23 апр. 2010

Хм. А у меня вот в /MD как-раз нигде не работает по понятным причинам, зато /MT не компилируется =( Ругается на нерешенный символ "__HUGE"(как я понял, это максимальное число в математических библиотеках?) и на __invalid_parameter_noinfo(тоже LNK2001) Не подскажете, как бороться? =)

#14
14:05, 23 апр. 2010

all_creater
> Не подскажете, как бороться? =)
У программы библиотеки есть? Возможно библиотеки собраны с динамической линковкой рантайма.

Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.