arx incompatible with this version of autocad

arx incompatible with this version of autocad

Anonymous
Not applicable
1,381 Views
6 Replies
Message 1 of 7

arx incompatible with this version of autocad

Anonymous
Not applicable
When I try to load my arx application in AutoCAD i get this error message:

' *.arx is incompatible with this version of AutoCAD
AcRxDynamicLinker failed to load ' *.arx'
C:\Program Files\AutoCAD 2007\acad.exe

I am using VS2005, ObjectARX 2007 and AutoCAD 2007. What could be the reason?

When I build, I get the following warnings.

rxapi.lib(nullobid.obj) : warning LNK4099: PDB 'rxapi.pdb' was not found with 'C:\ObjectARX 2007\lib\rxapi.lib' or at 'c:\programa\programa\Debug\rxapi.pdb'; linking object as if no debug info
acedapi.lib(acedstub.obj) : warning LNK4099: PDB 'corehdr.pdb' was not found with 'C:\ObjectARX 2007\lib\acedapi.lib' or at 'c:\programa\programa\Debug\corehdr.pdb'; linking object as if no debug info
acedapi.lib(acedcls.obj) : warning LNK4099: PDB 'corehdr.pdb' was not found with 'C:\ObjectARX 2007\lib\acedapi.lib' or at 'c:\programa\programa\Debug\corehdr.pdb'; linking object as if no debug info Message was edited by: LeonD
0 Likes
1,382 Views
6 Replies
Replies (6)
Message 2 of 7

Anonymous
Not applicable
Based on some experiments, I believe that the Brep functions are the ones responsible for this problem.

What I'm doing is:

- add the "acbr17.lib" library in Project Properties>Configuration Properties>Linker>Input>Additional Dependencies, and

- add this code in the acrxEntryPoint.cpp file:

if (!acrxClassDictionary->at("AcBrEntity")) {
acrxDynamicLinker->loadModule("acbr17.dbx", 1);
}

which is what was working fine with VS2002, ObjectARX2006 and AutoCAD 2006.

Has that changed for VS2005,ObjectARX 2007 and AutoCAD 2007? Or what could be the problem? Why do I get the "incompatible with this version of AutoCAD" message?

When I build an application without the above mentioned characteristics, it loads correctly.

Please help me.
0 Likes
Message 3 of 7

Anonymous
Not applicable
AutoCAD 2007 is now UNICDE compatible. You should compile your ARX application with UNICODE.

Thanks!
KIMI
0 Likes
Message 4 of 7

Anonymous
Not applicable
Hi, LeonD!

L> Please help me.

Add rxapi.lib before(!!!) acbr17.lib in Project Properties>Configuration Properties>Linker>Input>Additional Dependencies.
Also change code:
[code]
if (!acrxClassDictionary->at(_T("AcBrEntity"))) {
acrxDynamicLinker->loadModule(_T("acbr17.dbx"), 1);
}
[/code]


Best Regards,
Alexander Rivilis.
0 Likes
Message 5 of 7

Anonymous
Not applicable
Leon:

In addition to the other replies, I'd like to add that if your application
depends on the BREP module, you should call loadModule every time to
increment the module's reference count (and always call unloadModule when
your app is unloading decrement the count). Your code only alerts the
system of your dependence if the module is not already loaded. As a result,
the BREP module may be unloaded while your module remains loaded. 🙂
--
Owen Wengerd
President, ManuSoft ==> http://www.manusoft.com
VP Americas, CADLock, Inc. ==> http://www.cadlock.com
0 Likes
Message 6 of 7

Anonymous
Not applicable
Alexander:

Putting rxapi.lib before acbr17.lib did fix the problem

(How the *&%$ is one supposed to know that, anyway?)

Thank you very much. 😃
0 Likes
Message 7 of 7

Anonymous
Not applicable
Thank you for your contribution Owen. I shall take it into accout, too.

Thanks to all others who replied.

=)

Sincerely,
Leon D. Gonzalez
0 Likes