![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Dgedit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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-х битных приложениях. Но я уже все настройки вроде перепробовал и никак не помогает. Помогите... |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
1) пройтись по Сишной либе Depends-ом (прога такая). Убедиться что у вас стоит MS CRT нужной версии (если вы собирали собственно с динамической CRT). Подробнее в разделе C++ в прикрепленых темах.
2) поставить своей проге на C# явное указание процессора x86, а не any cpu как по умолчанию идёт. Т.е. если у вас cpp либа является x86, то и .NET прога должна явно указывать что хочет x86 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Dgedit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Тут ужас какой-то.
посмотрел Depends'om, обй файла, библиотека и exe ссылки на другие библиотеки идут на 64-х битные. Версии рантайм библиотек вроде совпадают на обоих системах за исключением х64 библиотек, так как я не могу их установить на виртуалку - там 32-х битная ХР стоит. Проблема похоже кроется в том что библиотека создается 64-х битной. Только вот поверьте, уже весь мозг сломал, не могу для С++ проекта найти где ему можно явно указать платформу - 32-х или 64-х битную Добавлено через 2 минуты и 21 секунду В настройках С++ проекта - платформа только одна на выбор - Win32 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
Dgedit, win32 это не платформа, это конфигурация как раз, а вот в ней уже можно выбрать как собирать . в общем идите в конфигурейшен менеджер, посмотрите там платформу в конфигурации win32 какую указали....
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Dgedit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Ну вот я выбираю новую платформу для библиотеки а там на выбор только x64
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
Dgedit, ну если вы уверены что делаете все правильно, то вероятно у вас не стоит 32 битный компайлер
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Dgedit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
![]() |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
такой небывает. В сетапе проверьте что ставили, и, если надо, доставьте -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |