ObjectARX
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

dbapserv.h(451): error C3646: 'final' : unknown override specifier

17 REPLIES 17
SOLVED
Reply
Message 1 of 18
_rhenley
2526 Views, 17 Replies

dbapserv.h(451): error C3646: 'final' : unknown override specifier

I am compiling a 2014 x64 ARX with the 2015 SDK, and receive the following error:

 

1>------ Build started: Project: FrameUpx64 (Visual Studio 2010), Configuration: Debug x64 ------
1>  StdAfx.cpp
1>c:\autodesk\2015\objectarx 2015\inc\dbapserv.h(451): error C3646: 'final' : unknown override specifier

 

Does anyone know where I should be looking to solve this issue ?

17 REPLIES 17
Message 2 of 18
owenwengerd
in reply to: _rhenley

You have to build with VS 2012 Update 4.

--
Owen Wengerd
ManuSoft
Message 3 of 18
_rhenley
in reply to: owenwengerd

That was applied before I started:

 

Microsoft Visual Studio Professional 2012
Version 11.0.61030.00 Update 4
Microsoft .NET Framework
Version 4.5.50938

Message 4 of 18
_rhenley
in reply to: _rhenley

And I have no direct calls to: getSubstituteFont

Message 5 of 18
owenwengerd
in reply to: _rhenley

It's not enough to use the VS 2012 IDE, you also have to set the correct Platform Toolset in the project properties.

--
Owen Wengerd
ManuSoft
Message 6 of 18
_rhenley
in reply to: owenwengerd

Doesn't matter, either one:

 

Platform Toolset: Visual Studio 2010 (v100)
Platform Toolset: Visual Studio 2012 (v110)

Returns the error. Is there some specific setup documentation for VS 2012 ? I didn't notice it in the SDK.

Message 7 of 18
owenwengerd
in reply to: _rhenley

Can you reproduce the problem in a new project created from scratch? If so, attach it here so I can have a look. I'm not sure I understand your question about documentation. As far as I know, all the SDK documentation is in the docs subdirectory.

--
Owen Wengerd
ManuSoft
Message 8 of 18
_rhenley
in reply to: owenwengerd

I have this happening in 3 older working MFC Extension Arx projects; so I find it is easy to reproduce in a fresh 2014 Wizard generated project's code:

 

1>------ Build started: Project: TestArxProject1, Configuration: Debug Win32 ------
1>  StdAfx.cpp
1>c:\autodesk\2015\objectarx 2015\inc\dbapserv.h(451): error C3646: 'final' : unknown override specifier
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

 

Why exactly it does, is not clear yet.

Message 9 of 18
owenwengerd
in reply to: _rhenley

I haven't tried to build your project, just looked through it. I see that it imports Autodesk.arx-2014.props. Where does that file come from? Did you edit it?

--
Owen Wengerd
ManuSoft
Message 10 of 18
_rhenley
in reply to: owenwengerd

The 2014 Wizard creates it, it appears to be irrelevant to the compiler issue with the .h file.

Message 11 of 18
owenwengerd
in reply to: _rhenley

I can confirm the error when I build your project. I don't see any obvious reason, but I'll have a closer look when time permits.

--
Owen Wengerd
ManuSoft
Message 12 of 18
owenwengerd
in reply to: owenwengerd

Ah, I see the problem. In your project file around line 53, you are overriding the PlatformToolset property. I deleted those property overrides, saved the file, then reloaded it in the IDE and reset the platform toolset -- now it builds without error.

--
Owen Wengerd
ManuSoft
Message 13 of 18
_rhenley
in reply to: owenwengerd

I'm not following your comments.

 

I didn't override the PlatformToolset. But even when I remove from the TestArxProject1.vcxproj file those lines, so it looks like this:

 

  <PropertyGroup Label="Configuration">
  </PropertyGroup>

And reset the PlatformToolset correctly I still end up with an error. It also does not help when I edit the Autodesk.arx-2014.props file from:

 

        <ArxSDKVersion>19.1</ArxSDKVersion>
        <ArxSDKPlatform>v100</ArxSDKPlatform>

to this:

 

        <ArxSDKVersion>20.0</ArxSDKVersion>
        <ArxSDKPlatform>v110</ArxSDKPlatform>

Message 14 of 18


@_rhenley wrote:

I am compiling a 2014 x64 ARX with the 2015 SDK, and receive the following error:

 

1>------ Build started: Project: FrameUpx64 (Visual Studio 2010), Configuration: Debug x64 ------
1>  StdAfx.cpp
1>c:\autodesk\2015\objectarx 2015\inc\dbapserv.h(451): error C3646: 'final' : unknown override specifier

 

Does anyone know where I should be looking to solve this issue ?


You have to use ObjectARX SDK 2014 (not 2015) in order to create arx-application for AutoCAD 2014

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Message 15 of 18
owenwengerd
in reply to: _rhenley

I've attached the project file that builds without error for me. I also removed the /WX compiler option while messing around with it, so maybe something else I changed also affects the outcome.

--
Owen Wengerd
ManuSoft
Message 16 of 18

Sorry I wasn't clearer, but I am not interested in compiling for 2014.

I am compiling for 2015. As the test example shows.

I didn't expect to have so much trouble doing that with code which works and compiles for 2014.

The error appears to be with the 2015 SDK and the 2012 compiler settings as setup using the 2014 Wizard.

Message 17 of 18
_rhenley
in reply to: owenwengerd

Yes that works. I'll need to look at this more closely. I thought I had those setting changed per your project, but apparently not all of them.

Message 18 of 18
_rhenley
in reply to: owenwengerd

Actually - in addition to the corrected Platform settings, they have to be placed in the .vcxproj in the right location. When I moved the PlatformToolset lines to the location yours were right below the PropertyGroup Condition :

 

  <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
    <UseDebugLibraries>true</UseDebugLibraries>
    <WholeProgramOptimization>false</WholeProgramOptimization>
  </PropertyGroup>

 


  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>

Then my project file worked to compile, otherwise it doesn't properly configured.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost