Тема: allocates memory from both MSVCR80.DLL and MSVCR80D.DLL?
Что я неправилно определил в настройках проекта? Получаю вот такое сообщение - allocates memory from both MSVCR80.DLL and MSVCR80D.DLL
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → allocates memory from both MSVCR80.DLL and MSVCR80D.DLL?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Что я неправилно определил в настройках проекта? Получаю вот такое сообщение - allocates memory from both MSVCR80.DLL and MSVCR80D.DLL
> guglik
Скомпилируй в Release.
У меня такая же проблема. В Release все нормально. Но при перетягивании проектов в VS2005 начались проблемы со строковыми функциями (наверно). А запустить под отладчиком не получается. Че делать, люди?
Precompiled header /MD.
При замене на /MDd вроде компиллируется но в акад не грузится. Выдает то же сообщение что и у guglik
О, разобрался. Если в кратце, то stdafx.h для arx 7|8 отличается от arx 4|5|6.
Оставил Precompiled header /MD.
И подменил stdafx.h и все сразу скомпилилось
> Николай
Попробуй создать новый проект при помощи ObjectARX Wizard, убрать precompiled headers совсем(!), а затем уже перетащить туда свои .cpp, .h-фалы. Кроме того необходимо в stdafx.h что-то такое:
//----------------------------------------------------------------------------- //----- 'DEBUG workaround' below prevents the MFC or ATL #include-s from pulling //----- in "Afx.h" that would force the debug CRT through #pragma-s. #if defined(_DEBUG) && !defined(_FULLDEBUG_) #define _DEBUG_WAS_DEFINED #undef _DEBUG #pragma message (" Compiling MFC / STL / ATL header files in release mode.") #endif //----- ObjectARX and OMF headers needs this #include <map> //----------------------------------------------------------------------------- #include <afxwin.h> //----- MFC core and standard components #include <afxext.h> //----- MFC extensions #ifndef _AFX_NO_OLE_SUPPORT #include <afxole.h> //----- MFC OLE classes #include <afxodlgs.h> //----- MFC OLE dialog classes #include <afxdisp.h> //----- MFC Automation classes #endif //----- _AFX_NO_OLE_SUPPORT #ifndef _AFX_NO_DB_SUPPORT #include <afxdb.h> //----- MFC ODBC database classes #endif //----- _AFX_NO_DB_SUPPORT #ifndef _AFX_NO_DAO_SUPPORT #include <afxdao.h> //----- MFC DAO database classes #endif //----- _AFX_NO_DAO_SUPPORT #include <afxdtctl.h> //----- MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> //----- MFC support for Windows Common Controls #endif //----- _AFX_NO_AFXCMN_SUPPORT //----------------------------------------------------------------------------- #include <AtlBase.h> #include <AtlCom.h> using namespace ATL ; //----------------------------------------------------------------------------- #ifdef _DEBUG_WAS_DEFINED #define _DEBUG #undef _DEBUG_WAS_DEFINED #endif
> Александр Ривилис
Спасибо за помощь. отделался малй кровью :) только stdafx.h
И еще не забыть, что в каждом cpp-файле проекта до любых других #include'ов необходимо вставить:
#include "stdafx.h"
Иначе смесь MSVCR80.DLL и MSVCR80D.DLL библиотек будет обеспечена!
> Александр Ривилис
А разве бывает иначе? :):):)
:) Это называется хороший стиль программирования. "StdAfx.h" даже при автоматическом создании класса, например диалога, всегда вставляется автоматом первым.
> Николай
К сожалению бывает. Мне вчера вечером пришло письмо с целым проектом VS 2005 и заголовком из этой темы без комментариев. Методом ненаучного втыка я понял что от меня хотят. :) Так вот в половинее cpp-файлов не было #include "stdafx.h" - они создавались вручную и видимо еще в достаточно старых версиях ObjectARX.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → allocates memory from both MSVCR80.DLL and MSVCR80D.DLL?
Форум работает на PunBB, при поддержке Informer Technologies, Inc