Porting project to ARX 2017

Porting project to ARX 2017

XXL1966
Contributor Contributor
723 Views
3 Replies
Message 1 of 4

Porting project to ARX 2017

XXL1966
Contributor
Contributor

hello, i have a solution with different projects each targeting a different ACAD and BCAD platform.

I want to add a (copied) project to the solution that targets the newest ACAD2017.

I installed MSVC2015, opened the solution (not updating projects) and i can build them all without any issues.

 

My first question, what is the best method to copy the project that targets ACAD2015 to 2017 ?

 

What i did was a follows:

 

In explorer copy and rename the 2015 project folder to 2017

Next deleted win32 and x64 folders in 2017 project

Changed the name of the vcxproj files.

Add the 2017 project using "add existing project"

Change the platform toolset, path references (env var) and lib references (21 instead of 20) in the project properties.

 

Is this a good method ?

 

However, when i build for acad 2017 i get the following errors now:

 

Error C2664 'int acedSSLength(const int64_t [],Adesk::Int32 *)': cannot convert argument 2 from 'long *' to 'Adesk::Int32 *'

 

I noticed this error has been posted already on the forum but i cannot find a solution for my problem.

 

Thank you !

 

0 Likes
724 Views
3 Replies
Replies (3)
Message 2 of 4

XXL1966
Contributor
Contributor

Changed long into INT32

0 Likes
Message 3 of 4

owenwengerd
Advisor
Advisor

You did everything right, now you just need to migrate your source code.

--
Owen Wengerd
ManuSoft
0 Likes
Message 4 of 4

Anonymous
Not applicable

Hi 

I have a similar issue except that I'm keeping the old environments since I'm building arx objects for Autocad 2010 to 2018

 

I have Visual Studio 2008 to 2017 installed and I just have a build configuration depending on the Autocad version I'm building for it references the right Visual Studio Version.

 

ACAD 2010 to 2011 use VS2008

ACAD 2013 to 2014 use VS2010

ACAD 2015 to 2016 use VS2012

ACAD 2017 to 2018 use VS2015

 

I followed the advice here for change long to INT32, this solved for 2017 and 2018 and but it will throw an error for the rest.

I'm thinking in using an #ifdef __cplusplus since that the piece of code in acedads.h file where the error happen, but I wanted to check that here first.

 

Thanks in advance,

 

0 Likes