Skip to main content
Inspiring
Sep 17, 2025 9:19 AM UTC
Question

Help Migrating InDesign Plugin to 2026 SDK – "No member named 'data' in 'K2Vector<TabStop>'"

Hi all,

I'm working on migrating my InDesign plugin from the 2025 SDK to the newly released InDesign 2026 SDK. I’m using Xcode 16.2 on macOS and attempting to rebuild the plugin against the latest SDK.

However, I'm encountering the following compilation error:

 

"No member named 'data' in 'K2Vector<TabStop>'"

 

This error is occurring in TabStop.h at these lines:

 

const TabStop* begin() const
{ return fSortedTable.data(); }

/** */
const TabStop* end() const
{ return fSortedTable.data() + fSortedTable.size(); }

 

Has the K2Vector interface changed in the 2026 SDK? Or is there some new header, typedef, or setting I'm missing?

Any guidance on how to resolve this or properly access the internal buffer of a K2Vector in the new SDK would be greatly appreciated.

Thanks in advance!

Chetan

4 replies

Inspiring
Oct 3, 2025 1:18 PM UTC

From InDesign 20226 onwards, K2Vector is now defined as std::vector.

 

Refer Prerelease SDK documentation.

 

- Rahul Rastogi

Translate
Participant
Feb 6, 2026 10:19 PM UTC

Where can I found the prerelease SDK documentation for 21.0? I already download the InDesign SDK for 21.0 version and I cant find the information about how to change the use of K2Vector

Translate
Community Expert
Sep 18, 2025 1:06 PM UTC

Best way to avoid such issues is to base the configuration over the newly released config files. So seperate out your project specific configurations in a seperate config file and then use all the configs shipped with the SDK

-Manan

Translate
-Manan
Chetan SAuthor
Inspiring
Sep 18, 2025 5:20 AM UTC

I manage to find out the issue, it was happening because I was missing following from common.xcconfig

K2_BE_GONE=1

Translate