Тема: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Здравствуйте!
Пытаюсь скомпилировать пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit.
Описание  системы:
ОС: Windows 7 Домашняя расширенная Service Pack 1

VS: Microsoft Visual Studio Community 2015 Version 14.0.25431.01 Updatev3

Описание действий:
1) Запуск отладки примера: C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\samples\graphics\mesh_dg - копия

2) Выдало 5 ошибок типа: Error C2664 'Acad::ErrorStatus AcEdCommandStack::addCommand(const ACHAR *,const ACHAR *,const ACHAR *,Adesk::Int32,AcRxFunctionPtr,AcEdUIContext *,int,HINSTANCE,AcEdCommand **)': cannot convert argument 1 from 'const char [15]' to 'const ACHAR *' mesh C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\samples\graphics\mesh_dg - копия\mesh.cpp    193

решение: _T("ACGI_MESH_SAMP") заменил на (ACHAR *)("ACGI_MESH_SAMP")

3) Ошибка типа: Error C2338 /RTCc rejects conformant code, so it isn't supported by the C++ Standard Library. Either remove this compiler option, or define _ALLOW_RTCc_IN_STL to acknowledge that you have received this warning. mesh    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h    112   

решение: В начале mesh.cpp прописал #define _ALLOW_RTCc_IN_STL

4) Запуск отладки

5) Ошибка типа: Error LNK1181 cannot open input file 'accore.lib' mesh    C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\samples\graphics\mesh_dg - копия\LINK 1   

решение: в окне Property Pages\Configuration Properties\Linker\Additional Library Directories прописал: C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\lib-win32

6) Ошибка типа: Error LNK2001 unresolved external symbol acrxGetApiVersion mesh    C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\samples\graphics\mesh_dg - копия\AcRxDefault.def 1   

решение: 1) в окне Property Pages\Configuration Properties\Linker\Input\Additional Dependencies прописал: rxapi.lib;accore.lib;acad.lib;acui21.lib;adui21.lib;%(AdditionalDependencies)
    2) в окне Property Pages\Configuration Properties\Linker\Input\Module Definition File прописал: C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\inc\AcRxDefault.def
(в котором прописано:    EXPORTS     
            acrxEntryPoint        PRIVATE
            acrxGetApiVersion    PRIVATE)

7) Выдало 184 ошибки типа: 1) Error LNK2019 unresolved external symbol "class AcDbHostApplicationServices * __cdecl acdbHostApplicationServices(void)" (?acdbHostApplicationServices@@YAPAVAcDbHostApplicationServices@@XZ) referenced in function "void __cdecl addAsdkMeshSampObject(void)" (?addAsdkMeshSampObject@@YAXXZ) mesh C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\samples\graphics\mesh_dg - копия\mesh.obj 1   
    2) Error LNK2001 unresolved external symbol "protected: virtual bool __thiscall AcDbEntity::subCloneMeForDragging(void)" (?subCloneMeForDragging@AcDbEntity@@MAE_NXZ) mesh C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit\samples\graphics\mesh_dg - копия\mesh.obj 1   

8) Помогите пожалуйста разобраться где я ошибся

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Как-то ты неудачно создал копию mesh_dg

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Нашел причину!

В окне Property Pages\Configuration Properties\Linker\Input\Additional Dependencies
надо указать:
acge21.lib;acdb21.lib;ac1st21.lib;rxapi.lib;accore.lib;acad.lib;acui21.lib;adui21.lib;%(AdditionalDependencies)

Александр! Спасибо!

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Уточнение.

Пример mesh_dg компилируется, но после загрузки mesh.arx в AutoCAD 2017 и вызова команды ASDKMAKEMESH AutoCAD 2017 выдает ошибку: Неизвестная команда.

Решение:
В том месте, где выдает ошибку  Error C2664 исправлять _T("ACGI_MESH_SAMP") надо не на (ACHAR *)("ACGI_MESH_SAMP"), а на L"ACGI_MESH_SAMP"

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

nickolay.222 пишет:

Решение:
В том месте, где выдает ошибку  Error C2664 исправлять _T("ACGI_MESH_SAMP") надо не на (ACHAR *)("ACGI_MESH_SAMP"), а на L"ACGI_MESH_SAMP"

Его вообще исправлять не нужно было. При создании копии проекта ты не указал, что проект UNICODE и соответственно _T("...") у тебя эквивалентен "...", а должен был быть L"...".

Спасибо сказали: nickolay.2221

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Александр, подскажите пожалуйста как правильно указать, что проект UNICODE.

Я по совету интернета пробовал:
1) Установил галку в окне Tools\Options\Environment\Documents\Save documents as Unicode when data cannot be saved in codepage
2) Установил в окне Property Pages\Configuration Properties\Character Set\Use Unicode Character Set

В итоге, ни чего не помогло

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

nickolay.222 пишет:

Александр, подскажите пожалуйста как правильно указать, что проект UNICODE.

Я по совету интернета пробовал:
1) Установил галку в окне Tools\Options\Environment\Documents\Save documents as Unicode when data cannot be saved in codepage
2) Установил в окне Property Pages\Configuration Properties\Character Set\Use Unicode Character Set

В итоге, ни чего не помогло

И не должно было помочь. Первое имеет отношение к формату сохранения cpp/h-файлов. Второе вообще непонятно к чему.

Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Ну и можно было использовать в качестве шаблона samples\misc\fact_dg

Спасибо сказали: nickolay.2221

Re: Не компилируется пример mesh_dg из Autodesk_ObjectARX_2017_Win_64_and_32_Bit

Александр, большое спасибо! Сделал как Вы указали и прога компилироваться стала без ошибки C2664