<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Cannot compile AC26 addon for AC27 in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579989#M8982</link>
    <description>&lt;P&gt;Hi Bernd, yes I had already set C++17 as the language standard, thanks, but that did not resolve these issues.&lt;/P&gt;</description>
    <pubDate>Tue, 12 Dec 2023 18:20:05 GMT</pubDate>
    <dc:creator>YourQS</dc:creator>
    <dc:date>2023-12-12T18:20:05Z</dc:date>
    <item>
      <title>Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579792#M8978</link>
      <description>&lt;P&gt;I have a plugin that compiles and works fine in AC26.&amp;nbsp; &amp;nbsp;I am upgrading it to AC27.&amp;nbsp; &amp;nbsp;I have installed the AC27 API kit and changed all references in the project file to the 27.3001 folder.&lt;/P&gt;
&lt;P&gt;I now get about 6000 errors, many of them like these:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;CParameter* Factory(const API_AddParType &amp;amp;parameter);&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Errors:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int
Error C2143 syntax error: missing ',' before '&amp;amp;'&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Visual Studio IDE is able to identify the type&amp;nbsp;API_AddParType and can navigate to the .h file if I press F12 on the type, but the compiler doesn't seem to be able to find it. (See attached image)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could someone help with what I need to change to resolve this issue?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AC27.PNG" style="width: 644px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/50605i6ABE2ECA7228745F/image-dimensions/644x63?v=v2" width="644" height="63" role="button" title="AC27.PNG" alt="AC27.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Sep 2024 11:07:48 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579792#M8978</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-09-17T11:07:48Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579903#M8980</link>
      <description>&lt;P&gt;Did you specify C++17 for your Project when compiling for AC27? The AC27 DevKit assumes the use of C++17.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2023 10:16:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579903#M8980</guid>
      <dc:creator>BerndSchwarzenbacher</dc:creator>
      <dc:date>2023-12-12T10:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579989#M8982</link>
      <description>&lt;P&gt;Hi Bernd, yes I had already set C++17 as the language standard, thanks, but that did not resolve these issues.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2023 18:20:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/579989#M8982</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2023-12-12T18:20:05Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/580008#M8983</link>
      <description>&lt;P&gt;Hm.. I took a closer look. &lt;STRONG&gt;API_AddParType&lt;/STRONG&gt; is defined for the AC27 DevKit. But &lt;STRONG&gt;CParameter&lt;/STRONG&gt; is not.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;In fact, when I copy your code line into one of my projects, I get the exact same errors and Visual Studio highlights &lt;STRONG&gt;CParameter&lt;/STRONG&gt; as missing. So I think it's very likely that somehow you are not properly including the headers which define &lt;STRONG&gt;CParameter&lt;/STRONG&gt;. Where do you get this type from?&lt;BR /&gt;&lt;BR /&gt;Best,&lt;BR /&gt;Bernd&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2023 20:21:02 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/580008#M8983</guid>
      <dc:creator>BerndSchwarzenbacher</dc:creator>
      <dc:date>2023-12-12T20:21:02Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/580024#M8984</link>
      <description>&lt;P&gt;Hi Bernd,&lt;/P&gt;
&lt;P&gt;It is one of our own classes defined in Parameter.hpp, which is included in the file. here is a large snippet showing the original code and&amp;nbsp; the include.&amp;nbsp; &amp;nbsp;What is peculiar is that the VS IDE happily identifies CParameter, (no red squiggle) and I can navigate to it by pressing F12 on it in the IDE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Nick&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;LI-CODE lang="cpp"&gt;#ifndef _PARAMETERCOLLECTION_HPP_
#define _PARAMETERCOLLECTION_HPP_

#include "Definitions.hpp"

#include &amp;lt;vector&amp;gt;
#include "WString.hpp"
#include &amp;lt;Parameter.hpp&amp;gt;

using namespace std;

class CParameterCollection
{
protected:
vector&amp;lt;CParameter*&amp;gt; m_collection;

protected:
void ClearCollection();
void CopyCollection(const CParameterCollection &amp;amp;src);

CParameter* Factory(const API_AddParType &amp;amp;parameter);&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 17 Dec 2023 21:56:08 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/580024#M8984</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2023-12-17T21:56:08Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/580281#M8996</link>
      <description>&lt;P&gt;Hi Nick,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's a tough one. I don't see anything obviously wrong with the code.&lt;/P&gt;
&lt;P&gt;A few questions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Where is the file &lt;STRONG&gt;Parameter.hpp&lt;/STRONG&gt; located? I'm wondering why you are including it with angle brackets instead of quotes.&lt;/LI&gt;
&lt;LI&gt;Can you show the definition of &lt;STRONG&gt;CParameter&lt;/STRONG&gt;? (Please use the function "Insert/Edit code sample" on here for better formatting of code)&lt;/LI&gt;
&lt;LI&gt;Can you prepare a minimal example project without proprietary code where the compilation still fails? Ideally just CParameter definition + a file where it's included + the project definition. This might be a lot of work, but might help you debugging the issue and if you have a small example, you might be able to share it with us for us to investigate.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Best,&lt;BR /&gt;Bernd&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2023 08:07:28 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/580281#M8996</guid>
      <dc:creator>BerndSchwarzenbacher</dc:creator>
      <dc:date>2023-12-14T08:07:28Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/610300#M9544</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;at first as Bernd pointed out is there any reason you use angle brackets instead of quotes? Please try to modify to&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#include "Parameter.hpp"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is unclear to me whether this error you mentioned refers to CParameter or API_AddParType. Moreover API_AddParType is in APIdefs_LibraryParts.h but I cannot see where it is included. Please try to include it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jun 2024 04:59:54 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/610300#M9544</guid>
      <dc:creator>Mihaly Palenik</dc:creator>
      <dc:date>2024-06-21T04:59:54Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/611169#M9549</link>
      <description>&lt;P&gt;Hi Mihaly,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for taking a look at the problem we are having.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did try changing the angle brackets to quotes when Berndt first suggested it, but the errors remained.&amp;nbsp; &amp;nbsp;I think it is worth reiterating that the code (with the angle brackets) compiles fine when the references are to the AC26 API.&amp;nbsp; &amp;nbsp;It only fails when the AC27 API is referenced.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried including a reference to&amp;nbsp;&lt;SPAN&gt;APIdefs_LibraryParts.h, but that also did not help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Nick&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 23 Jun 2024 19:50:38 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/611169#M9549</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-06-23T19:50:38Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612131#M9561</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have you tried to predeclare API_AddParType before its first use?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;struct&amp;nbsp;API_AddParType;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best, Akos&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jun 2024 13:33:10 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612131#M9561</guid>
      <dc:creator>Akos Somorjai</dc:creator>
      <dc:date>2024-06-25T13:33:10Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612711#M9565</link>
      <description>&lt;P&gt;Hi Akos,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I added that line before the first reference to&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;API_AddParType, but the error output remained exactly the same.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Nick&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jun 2024 19:45:53 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612711#M9565</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-06-26T19:45:53Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612744#M9566</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;where do you put it exactly? Right before the first reference like this:&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#ifndef _PARAMETERCOLLECTION_HPP_
#define _PARAMETERCOLLECTION_HPP_

#include "Definitions.hpp"

#include &amp;lt;vector&amp;gt;
#include "WString.hpp"
#include &amp;lt;Parameter.hpp&amp;gt;

using namespace std;

class CParameterCollection
{
protected:
vector&amp;lt;CParameter*&amp;gt; m_collection;

protected:
void ClearCollection();
void CopyCollection(const CParameterCollection &amp;amp;src);
// added line
struct API_AddParType;
CParameter* Factory(const API_AddParType &amp;amp;parameter);&lt;/LI-CODE&gt;
&lt;P&gt;or before the class like this?&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#ifndef _PARAMETERCOLLECTION_HPP_
#define _PARAMETERCOLLECTION_HPP_

#include "Definitions.hpp"

#include &amp;lt;vector&amp;gt;
#include "WString.hpp"
#include &amp;lt;Parameter.hpp&amp;gt;

using namespace std;
// added line
struct API_AddParType;

class CParameterCollection
{
protected:
vector&amp;lt;CParameter*&amp;gt; m_collection;

protected:
void ClearCollection();
void CopyCollection(const CParameterCollection &amp;amp;src);

CParameter* Factory(const API_AddParType &amp;amp;parameter);&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 05:44:46 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612744#M9566</guid>
      <dc:creator>Mihaly Palenik</dc:creator>
      <dc:date>2024-06-27T05:44:46Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612745#M9567</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another idea:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#include &amp;lt;vector&amp;gt;
#ifndef ACExtension
#define ACExtension
#endif
#include "APIdefs_LibraryParts.h"
#include "WString.hpp"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best, Akos&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 09:05:24 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/612745#M9567</guid>
      <dc:creator>Akos Somorjai</dc:creator>
      <dc:date>2024-06-27T09:05:24Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613730#M9602</link>
      <description>&lt;P&gt;Hi Mihaley,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I had put it before the class.&amp;nbsp; &amp;nbsp;When I put it directly before the reference, it gets rid of one compiler error, but then throws this error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Error C2027 use of undefined type 'CParameterCollection::API_AddParType'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks and regards,&lt;/P&gt;&lt;P&gt;Nick&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2024 20:33:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613730#M9602</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-07-02T20:33:05Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613731#M9603</link>
      <description>&lt;P&gt;Hi Akos,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, that seems to get rid of about 20 of the remaining 2000 compiler errors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks and regards,&lt;/P&gt;&lt;P&gt;Nick&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2024 19:58:46 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613731#M9603</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-07-02T19:58:46Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613746#M9604</link>
      <description>&lt;P&gt;Another idea: it seems that the DevKit also has a file named "Parameter.hpp" (Support/Modules/GSModelDevLib/Parameter.hpp). I can imagine that somehow the AC27 build finds the one in the DevKit before the one in your library. Please try to rename your file to e.g. "CParameter.hpp" and check if that solves the problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this doesn't help, please provide the full build log. When you have so many errors sometimes the real reason is hidden somewhere in the log.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2024 20:52:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613746#M9604</guid>
      <dc:creator>Viktor Kovacs</dc:creator>
      <dc:date>2024-07-02T20:52:21Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613761#M9605</link>
      <description>&lt;P&gt;Hi Viktor,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried renaming Parameter.hpp, but it did not solve the problem.&amp;nbsp; &amp;nbsp;I have attached a file with the build log.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks and regards,&lt;/P&gt;&lt;P&gt;Nick&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2024 21:29:24 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613761#M9605</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-07-02T21:29:24Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613773#M9606</link>
      <description>&lt;P&gt;Most of the errors seemingly are coming from changes in the API interface between AC26 and AC27. There are - at least - two parts of the story.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;1. API_AttributeIndex&lt;/H3&gt;
&lt;P&gt;API_AttributeIndex has been changed from a number to a class.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;// AC26
typedef Int32 GSIndex;
typedef GSIndex API_AttributeIndex;

// AC27
class API_AttributeIndex
{
// ...
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From the log it seems that you are using API_AttributeIndex as a number at several places, like in an std::map that requires a comparison operator that the new class doesn't have.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;std::map&amp;lt;API_AttributeIndex, int&amp;gt; m;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Probably it will mean a bigger rewrite for you to use the class everywhere. For now you can get the index from the class, but I highly recommend using the class for future compatibility.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;2. Function renames&lt;/H3&gt;
&lt;P&gt;Several functions has been renamed in AC27. For example&amp;nbsp;ACAPI_LibPart_Get is called ACAPI_LibraryPart_Get in AC27.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;What can you do?&lt;/H3&gt;
&lt;P&gt;You have two options:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;You can separate the code for AC26 and AC27 and do the update only in the AC27 codebase.&lt;/LI&gt;
&lt;LI&gt;If you prefer to have one code base for both versions you can create a header that resolves these dependencies.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Example for such migration header:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#ifndef ServerMainVers_2700

#define ACAPI_LibraryPart_GetNum ACAPI_LibPart_GetNum
#define ACAPI_LibraryPart_Search ACAPI_LibPart_Search
#define ACAPI_LibraryPart_Create ACAPI_LibPart_Create
// ...

#endif
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since there were many changes between the two versions, prepare for a bigger task to rewrite everything. In case of renames it's "only" a manual task, in case of attribute index handling you need to figure out what will work the best for you.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2024 22:10:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613773#M9606</guid>
      <dc:creator>Viktor Kovacs</dc:creator>
      <dc:date>2024-07-02T22:10:21Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613970#M9610</link>
      <description>&lt;P&gt;Hi Viktor,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for that.&amp;nbsp; &amp;nbsp;Is there a list of function name changes?&amp;nbsp; &amp;nbsp;I have looked at&amp;nbsp;&lt;A href="https://graphisoft.github.io/archicad-api-devkit/md__common_doxygen_files_2_articles_2_new_01_a_p_i_01features_01in_01_archicad.html" target="_blank"&gt;https://graphisoft.github.io/archicad-api-devkit/md__common_doxygen_files_2_articles_2_new_01_a_p_i_01features_01in_01_archicad.html&lt;/A&gt;&amp;nbsp;but it just says that many names have changed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nick&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2024 19:36:10 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613970#M9610</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-07-03T19:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613971#M9611</link>
      <description>&lt;P&gt;Hi Nick,&lt;BR /&gt;&lt;BR /&gt;You can check the file &lt;EM&gt;&lt;STRONG&gt;Support/Inc/ACAPI_MigrationHeader.hpp&lt;/STRONG&gt; &lt;/EM&gt;in the AC27 SDK for a list of (I think) all function name changes.&lt;BR /&gt;Unfortunately I wasn't able to use the file directly without modifications.&lt;BR /&gt;I think I've used following modifications to use it:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Make all functions inline&lt;/LI&gt;
&lt;LI&gt;Document out functions where the conversion doesn't work for some reason or fix it if I need exactly one of these.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Hope that helps!&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2024 19:44:07 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/613971#M9611</guid>
      <dc:creator>BerndSchwarzenbacher</dc:creator>
      <dc:date>2024-07-03T19:44:07Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot compile AC26 addon for AC27</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/614631#M9642</link>
      <description>&lt;P&gt;Hi Bernd, Akos, and Viktor,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have made the changes suggested by Akos for the renamed functions and new class.&amp;nbsp; &amp;nbsp;I am still getting the original many errors where the compiler cannot find definitions , when the IDE can.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bernd, I have taken your original suggestion of creating a small project that demonstrates the problem; the whole plugin is quite small, so I have attached it.&amp;nbsp; &amp;nbsp;Please could you try opening and compiling it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks and regards,&lt;/P&gt;&lt;P&gt;Nick&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 22:37:58 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Cannot-compile-AC26-addon-for-AC27/m-p/614631#M9642</guid>
      <dc:creator>YourQS</dc:creator>
      <dc:date>2024-07-08T22:37:58Z</dc:date>
    </item>
  </channel>
</rss>

