Archicad C++ API
About Archicad add-on development using the C++ API.

outdated Add-On that cannot be used with this ArchiCAD vers

Anonymous
Not applicable
I'm running on Windows XP 32 bit.
I'm using Visual Studio 2005 and the v13 API.
I'm using the Database Control example add-on unaltered.

I compile for Win32 and load the add on into ArchiCad on WinXP 32 bit and it works fine.

I compile for x64 (changing the libraries to the x64 versions) and the linker complains about DllMainEntry@12 not being found. I change the Entry point to DllMainEntry and rebuild. The build succeeds but the add on does not load in ArchiCad 64 running on Windows 7 64 bit.

Add on manager reports: The file is an outdated Add-On that cannot be used with this ArchiCAD version.

Neither the win32 nor the x64 versions of the apx file have a Version section when I view the resources of the file.

Any suggestions on how I can get an x64 version of an add on working please?
5 REPLIES 5
Tibor Lorantfy
Graphisoft Alumni
Graphisoft Alumni
Which ArchiCAD version do you have on WinXP and on Win7?
You should use the same API DevKit version for compiling.
Anonymous
Not applicable
I am using v13 ArchiCad on both systems.
Anonymous
Not applicable
I've put a version section into the example and checked it against an apx file that comes with v13.

The first entry is Structural_property.apx the second is database_control (compiled example).
FILEVERSION: 13, 0, 0, 3835 vs 13, 0, 0, 0
PRODUCTVERSION: 13, 0, 0, 3835 vs 13, 0, 0, 0
FILEFLAGSMASK: 0x3fL vs 0x0L
FILEFLAGS: 0x0L - same
FILEOS: 0x4L - same
FILETYPE: VFT_UNKNOWN vs VFT_APP
FILESUBTYPE: VFT2_UNKNOWN - same
Block Header: English (United States) (040904e4) - same
CompanyName: Graphisoft R&D - same
FileDescription: ArchiCAD 13.0.0 AUS Component - same
FileVersion: 13.0.0.R1 AUS (3835) vs 13.0.R1 AUS (3835)
InternalName: Structural_Property vs Database_Control
LegalCopyright: Copyright(c) Graphisoft R&D, 1984-2008 - same
OriginalFilename: Structural_Property.apx vs Database_Control.apx
ProductName: ArchiCAD - same
ProductVersion: 13.0.0.R1 AUS (3835) vs 13.0

Are these differences likely to produce the error I'm experiencing?
If so, how can the values be changed as the VERS block doesn't seem to allow for much change in the information entered.
Anonymous
Not applicable
I've now shifted to ArchiCAD v15.
I'm compiling on Windows XP 32 bit using Visual Studio 2005 with the 64 cross compiler option installed.
I'm compiling the Database Control example.
I get it to build by adding a version entry and some defines to the Database_ControlFix.grc file.
I install the apx file into Addons\DBAddon on my Windows 7 64 bit system.
I start ArchiCad 15 and check the Addon Manager.
It reports the Database Control as not loaded with error:
The file is an outdated Add-On that cannot be used with this ArchiCAD version.
The version information contains 15.0 as its various version numbers.
Anonymous
Not applicable
Ok, I've installed VS2005 into my Win 7 64 bit system (even though MS complains about compatibility issues).

I've recompiled the Database_Control example and now it works.

So the problem seems to be that you can't cross compile.