• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Undefined symbol: ai::ArtboardList::ArtboardList()

Participant ,
May 05, 2023 May 05, 2023

Copy link to clipboard

Copied

hi all,

i want to retrieve artboard details adobe sdk .. created plugin in xcode

 

the following code i used to retrieve the details.

ASInt32 artboardIndex = 0;

    ai::ArtboardList artboardList;

    

    result = sAIArtboardSuite->GetArtboardList(artboardList);

 

    result = sAIArtboardSuite->GetActive(artboardList,artboardIndex);

 

    ai::ArtboardProperties artboardProperties;

    result = sAIArtboardSuite->GetArtboardProperties(artboardList, artboardIndex, artboardProperties);

    AIRealRect artboardRect;

    result = artboardProperties.GetPosition(artboardRect);

 

but im getting an error saying that 

 

 

Undefined symbol: ai::ArtboardList::ArtboardList()

 please anyone help me to resolve this

 

Thank you

TOPICS
SDK

Views

992

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
Explorer ,
May 05, 2023 May 05, 2023

Copy link to clipboard

Copied

Did you load the suite using AcquireSuite?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
May 05, 2023 May 05, 2023

Copy link to clipboard

Copied

Yes @superpanic  i have acquired suites

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 05, 2023 May 05, 2023

Copy link to clipboard

Copied

Sometimes you don't need to use a suite's functions, but need one or more of the definitions in it, in which case you can include it but not necessariy acquire it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 05, 2023 May 05, 2023

Copy link to clipboard

Copied

I did a search for "ArtboardList" in the SDK headers and found it is defined in "IAIArtboards.hpp" so you might try including that file.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
May 05, 2023 May 05, 2023

Copy link to clipboard

Copied

hi @Rick E Johnson  i have included  "IAIArtboards.hpp" this file.. but still showing Undefined symbol: ai::ArtboardList::ArtboardList() 
build failed

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 06, 2023 May 06, 2023

Copy link to clipboard

Copied

Bummer. Sorry that didn't work. I'm sure there are a lot of people on this forum who have done this and can help.

Another option is to use CORE from Hot Door (http://hotdoorcore.com), as I do. It's free, and a lot easier to use than the SDK, although you can add SDK suites for anything not included in CORE. It's essentially c++ wrappers that simplify access to several versions of the SDK and adds things like cross-platform UI similar to Adobe's ADM which was sadly discontinued with AI16.

 

I'd download CORE and open the Panel sample. Add #include "hdicoreArtboard.h" at the top of panelPlugin.cpp.

 

Look for the callback "__artboardChangedCB()" which contains this:

 

const uint32_t count = currDoc->artboardCount();

 

Now add a for loop and examine the artboards.

 

for (uint32_t i = 0 ; i < count ; i++){

std::unique_ptr<Artboard> thisArtboard = currDoc->artboardAtIndex(i);

// check whatever properties you want in the console window bottom-right in Xcode,

// then change the code to something meaningful

std::cout<<"Do something with the properties of thisArtboard"<<std::endl;

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
May 06, 2023 May 06, 2023

Copy link to clipboard

Copied

Following either (Xcode or VStudio) project for SnippetRunner, you'll find an entry to compile IAIArtboards.cpp which has the code for both ArtboardList and ArtboardProperties .

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
May 09, 2023 May 09, 2023

Copy link to clipboard

Copied

LATEST

This is what I was about to post. You need to include the relevant CPP. If you ever get an `Undefined symbol` that means you are missing code, which is either a library or a .cpp file.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines