Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу запустить программу в другой системе, программа не может найти DLL 
:(
    Опции темы
Dgedit
Дата 5.12.2010, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Проблема такая: ОС - Vindows 7 64-x битная, VS 2010, проект на C#(.NET Framework 3.5) к нему подключается библиотека на C++. На той системе на которой стоит VS все работает нормально. Запускаю виртуальную машину с Windows XP  на борту, .NET Framework стоит нужный, программа запускается нормально, но когда я нажимаю кнопку, нажатие которой вызывает функцию из DLL - получаю сообщение:
System.DllNotFoundException: Не удается загрузить DLL "Func.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)
Естественно библиотека лежит в той же папке, и точки входа ни при чем, так как на семерке это работает(когда библиотека лежит в той же папке).
Я так подозреваю что проблема в 64-х и 32-х битных приложениях. Но я уже все настройки вроде перепробовал и никак не помогает.
Помогите...
PM MAIL   Вверх
jonie
Дата 5.12.2010, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



1) пройтись по Сишной либе Depends-ом (прога такая). Убедиться что у вас стоит MS CRT нужной версии (если вы собирали собственно с динамической CRT). Подробнее в разделе C++ в прикрепленых темах.
2) поставить своей проге на C# явное указание процессора x86, а не any cpu как по умолчанию идёт. Т.е. если у вас cpp либа является x86, то и .NET прога должна явно указывать что хочет x86


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dgedit
Дата 5.12.2010, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Тут ужас какой-то.
посмотрел Depends'om, обй файла, библиотека и exe ссылки на другие библиотеки идут на 64-х битные.
Версии рантайм библиотек вроде совпадают на обоих системах за исключением х64 библиотек, так как я не могу их установить на виртуалку - там 32-х битная ХР стоит.
Проблема похоже кроется в том что библиотека создается 64-х битной.
Только вот поверьте, уже весь мозг сломал, не могу для С++ проекта найти где ему можно явно указать платформу - 32-х или 64-х битную

Добавлено через 2 минуты и 21 секунду
В настройках С++ проекта - платформа только одна на выбор - Win32
PM MAIL   Вверх
jonie
Дата 5.12.2010, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



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



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dgedit
Дата 5.12.2010, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Ну вот я выбираю новую платформу для библиотеки а там на выбор только x64
PM MAIL   Вверх
jonie
Дата 5.12.2010, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Dgedit, ну если вы уверены что делаете все правильно, то вероятно у вас не стоит 32 битный компайлер


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dgedit
Дата 5.12.2010, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



 smile во ужас, я ставил студию, скорее всего х64 битную - но неужели там нет 32-х разрядного компиллятора? И как быть?
PM MAIL   Вверх
jonie
Дата 5.12.2010, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Цитата(Dgedit @  5.12.2010,  17:41 Найти цитируемый пост)
 во ужас, я ставил студию, скорее всего х64 битную

такой небывает. В сетапе проверьте что ставили, и, если надо, доставьте


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.