Форум программистов, компьютерный форум CyberForum.ru

Не найдена зависимая сборка - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 585
Завершенные тесты: 2
24.07.2014, 11:59     Не найдена зависимая сборка #1
Нашел статью, в которой говорится, что OpenMP от VS2005 работает лучше, нежели от VS2010. Собрал проект согласно инструкции; запустил, потестил и согласился с ней. Вот только одно но: собранный экзешник на голой винде не запускается, в журнале событий пишет следующее:

Ошибка при создании контекста активации для "C:\Users\____\Desktop\4 branch\new.exe". Не найдена зависимая сборка "Microsoft.VC80.OpenMP,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762""

Эти параметры прописывались в своем <OpenMP.h>

Как тогда правильно собрать проект?

P.S. И еще мне не понятно из той статьи следующее:
"Это необходимо для корректной подгрузки манифеста в исполняемых и .dll-файлах. Не забудьте, что даже если OpenMP используется в подгружаемых .dll-файлах, манифест нужно прописать и для исполняемого файла!"

Что этим хотели сказать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14191 / 6206 / 985
Регистрация: 02.05.2013
Сообщений: 10,341
Завершенные тесты: 1
24.07.2014, 20:49     Не найдена зависимая сборка #2
Цитата Сообщение от mat_for_c Посмотреть сообщение
Ошибка при создании контекста активации для "C:\Users\____\Desktop\4 branch\new.exe". Не найдена зависимая сборка "Microsoft.VC80.OpenMP,processorArchitecture="x86",publicKey Token="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762 ""
Нужно распостранять библиотеки Visual C++ Runtime и OpenMP вместе с программой.
Лежат они примерно по такому пути:
C:\Program Files\Microsoft Visual Studio 8.0\VC\redist\x86\Microsoft.VC80.CRT и
Microsoft.VC80.OPENMP (если программа 64-битная, тогда вместо x86 надо брать из x64).

В папке с exe нужно создать две папки с такими же именами - Microsoft.VC80.CRT и
Microsoft.VC80.OPENMP и положить в них соответствующее содержимое.

Так должно работать.
Да, все dll-ки должны быть в точности тех же версий, которые использовались
для сборки проекта, иначе ничего не выйдет.

Цитата Сообщение от mat_for_c Посмотреть сообщение
P.S. И еще мне не понятно из той статьи следующее:
"Это необходимо для корректной подгрузки манифеста в исполняемых и .dll-файлах. Не забудьте, что даже если OpenMP используется в подгружаемых .dll-файлах, манифест нужно прописать и для исполняемого файла!"
Что этим хотели сказать?
Просто напоминание, что для корректного запуска программы нужен манифест.

Цитата Сообщение от mat_for_c Посмотреть сообщение
Нашел статью, в которой говорится, что OpenMP от VS2005 работает лучше, нежели от VS2010.
Ох уж этот Хабр !
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
24.07.2014, 21:15     Не найдена зависимая сборка #3
Цитата Сообщение от Убежденный Посмотреть сообщение
Просто напоминание, что для корректного запуска программы нужен манифест.
Нет, без этих прагм в манифесте приложения, собранного 2010 студией, не будет ссылки на рантайм 2005 и грузиться он не будет, нужно будет включать манифест 2005 студии руками:

http://msdn.microsoft.com/ru-ru/libr...=vs.80%29.aspx
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 585
Завершенные тесты: 2
25.07.2014, 09:19  [ТС]     Не найдена зависимая сборка #4
Цитата Сообщение от Убежденный Посмотреть сообщение
Microsoft.VC80.CRT
Я все же в 10-й студии делал, там с параметром /MT обошлось. А вот библиотеку vcomp.dll пришлось достать из указанного пути + файл манифеста этой библиотеки Microsoft.VC80.OpenMP.manifest (для этого пришлось поставить VS2005 на виртуальную машину), положил эти 2 файла вместе с прогой, запустил на голой 7-ке, результат: ошибка. В журнале событий было написано, что версия dll не совпадает... В <OpenMP.h> изменил
Цитата Сообщение от mat_for_c Посмотреть сообщение
version="8.0.50727.762 "
на 8.0.50727.42 и заработало.

Цитата Сообщение от Убежденный Посмотреть сообщение
Ох уж этот Хабр !
а что в нем такого? к тому же данная проблема OpenMP обсуждалась на stackoverflow
Yandex
Объявления
25.07.2014, 09:19     Не найдена зависимая сборка
Ответ Создать тему
Опции темы

Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru