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

arx incompatible with this version of autocad

6 REPLIES 6
Reply
Message 1 of 7
LeonD
876 Views, 6 Replies

arx incompatible with this version of autocad

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
6 REPLIES 6
Message 2 of 7
LeonD
in reply to: LeonD

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.
Message 3 of 7
kimi
in reply to: LeonD

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

Thanks!
KIMI
Message 4 of 7
Anonymous
in reply to: LeonD

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.
Message 5 of 7
Anonymous
in reply to: LeonD

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
Message 6 of 7
LeonD
in reply to: LeonD

Alexander:

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

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

Thank you very much. 😃
Message 7 of 7
LeonD
in reply to: LeonD

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

Thanks to all others who replied.

=)

Sincerely,
Leon D. Gonzalez

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

Post to forums  

Autodesk Design & Make Report

”Boost