Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
GBIT
12 / 12 / 1
Регистрация: 05.10.2011
Сообщений: 219
#1

Библиотека времени выполнения (компиляция /MT) - C++

05.06.2013, 02:28. Просмотров 2335. Ответов 1
Метки нет (Все метки)

такая проблема:
компилирую /MDd все отлично, но прога не запустится на других компах.
компилирую /MD, не запустится на других компах + ошибки:
Код
main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp___CrtDbgReportW в функции "public: void __thiscall std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >::_Compat(class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?_Compat@?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXABV12@@Z)
D:\VS\second\Debug\second.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
компилирую /MT, как я понимаю это именно тот вариан когда прога запустится на других компах, но тут опять ошибки:
Код
LINK : fatal error LNK1104: не удается открыть файл "libboost_regex-vc100-mt-sgd-1_53.lib"
Многопоточная (/MT)
Многопоточная отладка (/MTd)
Многопоточный DLL (/MD)
Многопоточная отладка DLL (/MDd)

помогите пожалуйста, в чем ошибка компиляции Многопоточная (/MT) ?

ps boost поставил, в свойствах пути до инклуд и библиотек прописал.

Не по теме:

много раз парился с этими проблемами, но все время как-то разруливал и не вдавался в детали, сейчас видимо настал момент..

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 02:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Библиотека времени выполнения (компиляция /MT) (C++):

Библиотека времени выполнения Microsoft Visual Studio C обнаружила неустранимую ошибку - C++
При компилирование Debug все работает отлично. Если компилирую Release то, компилируется нормально, но когда запускаю выдает ошибку. ...

Измерение времени выполнения - C++
Подскажите пожалуйста как измерить время выполнения чего-то с наносекундной точностью. std::chrono::high_resolution_clock::time_point...

Ошибка времени выполнения - C++
Я пишу проэкт в Visual Studia 2008 на C++. У меня есть несколько проблем. Во-первых, когда я собираю финальную версию (release) и...

Оптимизация времени выполнения - C++
Доброго времени суток. Есть следующая задача. Задача олимпиадная, потому учитывается время выполнения, нужно вложится в 1секунду. Мой код...

Ошибка времени выполнения. - C++
Вот код: void Add_Kod ( _kod*&amp; KodBuf, int a, char* buf, char* buf2) { if(a==1) { KodBuf = new _kod; KodBuf.ch = *(buf);...

Исправить ошибку времени выполнения - C++
Всем привет вот уже больше 2-х часов вожусь с простой задачей на динамическую память. Непосредственно весь код #include &lt;iostream&gt; ...

1
Убежденный
Ушел с форума
Эксперт С++
15701 / 7211 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.06.2013, 12:04 #2
Вам нужно, чтобы тип компоновки рантайма Visual C++ совпадал, во-первых, с
конфигурацией проекта (/MT или /MD для Release и /MTd или /MDd для Debug), а
во-вторых, с типом компоновки C++ Runtime для библиотек, статических или
динамических, которые подключаются к проекту.

Цитата Сообщение от GBIT Посмотреть сообщение
компилирую /MDd все отлично, но прога не запустится на других компах.
Запустится, если установить на этих компах отладочную версию Visual C++ Runtime.
Правда, это нарушение EULA.

Цитата Сообщение от GBIT Посмотреть сообщение
+ ошибки:
error LNK2019: ссылка на неразрешенный внешний символ __imp___CrtDbgReportW
Все верно. _CrtDbgReportW - это функция, имеющаяся только в отладочной версии Runtime.
А у Вас в данном случае используется релизная версия (/MD).

Цитата Сообщение от GBIT Посмотреть сообщение
компилирую /MT, как я понимаю это именно тот вариан когда прога запустится на других компах, но тут опять ошибки:
LINK : fatal error LNK1104: не удается открыть файл "libboost_regex-vc100-mt-sgd-1_53.lib"
Подключаемые библиотеки должны быть собраны в точности с теми ключами MT(d)/MD(d), которые
используются в проекте. Это основное правило. Тип компоновки C++ Runtime должен совпадать во
всех подключаемых библиотеках. В данном случае Вам просто нужен другой файл libboost_regex_xxx,
собранный с другими опциями.

Еще советую прочесть документацию Boost по компиляции библиотеки regex - возможно, не был
задан какой-нибудь важный макрос. Особенно это касается статических вариантов компоновки Boost.

Добавлено через 5 минут
Цитата Сообщение от GBIT Посмотреть сообщение
компилирую /MT, как я понимаю это именно тот вариан когда прога запустится на других компах
/MD тоже вполне рабочий вариант, нужно просто распостранить Visual C++ Runtime на
целевой компьютер. Причем это не обязательно делать через запуск vcredist.exe или
Merge Module, можно обойтись простым копированием файлов рантайма в папку с
приложением (VC++ 2010 и выше) или в подпапку с манифестом (VC++ 2008).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 12:04
Привет! Вот еще темы с ответами:

оценку времени выполнения алгоритма на С++ - C++
оценить время работы алгоритма для матриц размерностей от 5 на 5 (верхний предел может быть больше), результаты измерений записать в файл ...

Оптимизация [сокращение времени выполнения] - C++
Здравствуйте, стояла такая задача: Была сделана следующая программа: #include &lt;iostream&gt; using namespace std; int lucky(int...

Оптимизация [сокращение времени выполнения] - C++
Всем привет! В общем стояла такая задача: Посчитать среднее количество букв в предложении, состоящем из символов &quot;A-Z&quot;, &quot;a-z&quot;, &quot;0-9&quot;,...

Подсчет времени выполнения процедуры - C++
Такой вопрос- необходимо получить время выполнения процедуры сортировки массива. Для этого я использовал следующее выражение void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru