I'm getting a message at the command line saying that my newest arx file "is an invalid ARX file" and next that "AcRxDynamicLinker failed to load" the file. Immediately before these lines, it shows that another older ARX file has loaded and works in AutoCAD.
While the older one was built using VS 2005 (I'm using AutoCAD 2008), the newer one was built with VS 2010 after making the modifications necessary to build using the 2005 platform toolset, shown at the following page:
After finding that the file would not load on all computers, I went back and created a new project in VS 2005 and inserted the existing CPP and H files just to end up with the same errors.
The arx file loads and works fine on the computer I compiled it from, as well as several others. I do not understand why it will not load on all of the computers. All are running Windows XP Service Pack 3 and AutoCAD 2008 Service Pack 1.
Please let me know if you have any ideas as to how this can be corrected, or if any additional information might be useful.
Solved! Go to Solution.
The information you used to add a VC 2005 target platform is incomplete. You should use Daffodil instead:
If you want to resolve the problem manually without using Daffodil, this might help:
Owen, thanks for the response. I installed Daffodil, which was much easier than what I tried first. I wish I had found it when I was first trying to figure out how to use VS 2010. I changed the Platform Toolset to v80 and tried to build, but got the same results as before.
I ended up making the following changes, one of which solved the problem:
1. Starting another new project using the ObjectARX wizard in VS 2005
2. Putting it directly on my computer instead of the server
3. Creating new files in VS 2005 and copy and pasting the text from the 2010 files to the 2005 ones instead of adding the 2010 ones to the project. I did use the wizard to add the commands to the premade acrxEntryPoint file, and only changed it to call my main function from another h/cpp file.
Hopefully something was left over from adding the existing files that prevented it from working when using Daffodil. I will try it next time from a fresh start. Thanks again for letting me know about it.
There were a couple of things I don't understand that are possibly related. Originally, I saved the project on a server and got the following messages when creating the project:
Visual C++ found a suitable loation to store its browsing database and IntelliSense files for the solution "M:\Toolbox\Support 2008\ARX\Source Code Files\Visual Studio 2010\FindUnsizedBeams\FindUnsizedBeams.sln."
Visual C++ examined the folder "M:\Toolbox\Support 2008\ARX\Source Code Files\Visual Studio 2010\FindUnsizedBeams." This folder is not suitable because of the following:
The directory is on a network share or drive mapped to a network share.
Because a 'Fallback Location' was not specified in the C++ Advanced Options, Visual C++ is attempting to use your temporary directory.
Visual C++ examined the folder "C:\DOCUME~1\RALPHG~1\LOCALS~1\Temp\VC++\findunsiz
The directory is on a local drive.
The 'Fallback Location' is configurable under C++ Advanced Options.
Press OK to use this location.
Press Cancel to disable C++ browsing information and IntelliSense for this session.
Also, I get the following warnings when building the release file that wont load:
If anyone knows if these are related to the problem, or how to prevent them, please let me know.
These errors are related to Visual Studo 2010 property sheet changes...
<<<<<<<<< Goto the General Page and make sure the Output Directory and the Intermediate directory are set with the same parameters as those used in your Output path... e.g. General->Output Directory=$(SolutionDir)$(Platform)\$(Configuratio
<<<<<<<<<<<<< Change General->Target Extension=.arx
<<<<<<<<<<<<<<<<<<< same as the first problem.
Autodesk Developer Network
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register
Start with some of our most frequented solutions to get help installing your software.