Скачать MetaTrader 5

DLL msvcr100d.dll

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи MQL5 Cloud Network. Начни зарабатывать!
Piotr Storozenko
19020
Piotr Storozenko 2013.10.30 08:08 

Добрый день.

Написал простенькую dll в VS C++ 2010

Запустил в терминале и все работает без проблем. Перебросил код программы вместе с библиотекой на другой компьютер и при пробе запуска получил ошибку 126. Оказалось что библиотека вызывает функции из другой библиотеки - msvcr100d.dll и после того как перебросил эту библиотеку в папку system32 другого комьютера все работает нормально.

Подскажите может кто сталкивался с подобной проблемой, как скомпилировать dll так чтобы было достаточно перебросить код и только одну dll в папки терминала любого другого комьютера для нормальной работы.

Спасибо за каждую информацию.

ktest0
631
ktest0 2013.10.30 08:29  

Эта либа принадлежит Microsoft Visual C++ 2010 Redistributable Package, отсюда четыре общих способа:

1. Вписать код вызываемой библиотеки в свою (крайне трудно без исходников, практически "жопа")

2. Выяснить что вызывает стороннюю библиотеку и попытаться избавится от этого вызова (иногда лучшее решение, но зависит от того, что было задействовано)

3. Переписать библиотеку на другом языке (переделывать всегда тяжко, но если сильно нужно...)

4. Таки плюнуть и таскать эту библиотеку со своей DLL (добротный и крепкий "костыль", хотя теперь уже фича многих продуктов)

Комбинатор
15919
Комбинатор 2013.10.30 08:35  
pitpiter:

Подскажите может кто сталкивался с подобной проблемой, как скомпилировать dll так чтобы было достаточно перебросить код и только одну dll в папки терминала любого другого комьютера для нормальной работы.

Спасибо за каждую информацию.

Свойства проекта -- Configuration Properties -> C/C++ -> Code Generation -> Runtime Library -> поменять на Multi-threaded [debug]

Пробуйте, на 100% не уверен, но вроде так.

Slawa
Модератор
6840
Slawa 2013.10.30 09:12  
TheXpert:

Свойства проекта -- Configuration Properties -> C/C++ -> Code Generation -> Runtime Library -> поменять на Multi-threaded [debug]

Пробуйте, на 100% не уверен, но вроде так.


Common Properties - General - Use of MFC - Use MFC in a Static Library
Комбинатор
15919
Комбинатор 2013.10.30 09:16  
stringo:
Common Properties - General - Use of MFC - Use MFC in a Static Library
При чем здесь MFC ) это CRT либка, которая к MFC вообще никакого отношения не имеет.
o_o
Модератор
23690
o_o 2013.10.30 09:18  
TheXpert:
При чем здесь MFC ) это CRT либка, которая к MFC вообще никакого отношения не имеет.


:)) stringo прав. пусть сделает как написано.
Комбинатор
15919
Комбинатор 2013.10.30 10:12  
Вы блин пообкуривались что ли? ) ребята. Теплое с мягким путать. Небось за дебаг без бубна не садитесь.
o_o
Модератор
23690
o_o 2013.10.30 11:42  
TheXpert:
Небось за дебаг без бубна не садитесь.

никахда! )

пока штопикштартер не признается, что у него за dll - будешь прав и ты и stringo.

Vladimir Pastushak
68547
Vladimir Pastushak 2013.10.30 11:49  
pitpiter:

Добрый день.

Написал простенькую dll в VS C++ 2010

Запустил в терминале и все работает без проблем. Перебросил код программы вместе с библиотекой на другой компьютер и при пробе запуска получил ошибку 126. Оказалось что библиотека вызывает функции из другой библиотеки - msvcr100d.dll и после того как перебросил эту библиотеку в папку system32 другого комьютера все работает нормально.

Подскажите может кто сталкивался с подобной проблемой, как скомпилировать dll так чтобы было достаточно перебросить код и только одну dll в папки терминала любого другого комьютера для нормальной работы.

Спасибо за каждую информацию.


DLL надо собирать в режиме статической линковки, а не в режиме динамических DLL

Вот так: выбрать либо /MT, либо /MTd.


Комбинатор
15919
Комбинатор 2013.10.30 12:01  
sergeev:

никахда! )

У нас кстати на офисе есть штатный ) так что здесь я немного покривил душой )
Рустам
3597
Рустам 2013.10.30 12:05  
TheXpert:
У нас кстати на офисе есть штатный ) так что здесь я немного покривил душой )


Такой ? http://rozetka.com.ua/maxtone_tc812/p297512/#tab=comments
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий