Skip to main content
Known Participant
February 2, 2017
Answered

Getting Boost Regex Errors while porting a plugin for InDesign CC 2017 with InDesign CC 2017 SDK.

  • February 2, 2017
  • 2 replies
  • 2092 views

URGENT HELP NEEDED

I am porting a plugin that was running on InDesign CC 2015 previously, for InDesign CC 2017.

I am using OSX 10.10.2 and XCode 5.0.2, as written in the HTML Documentation that comes with InDesign SDK.

The plugin for InDesign CC 2015 was compiled on OSX 10.9.5 using Xcode 4.6.2.

Now I am having problem while trying to make a build, Compilation goes successful but Linking shows several problems related to Boost-Regex.

The project includes a file 'libboost_regex-mt.a' and the version of Boost that InDesign CC 2015 was using was 1.55 as I saw in version.hpp.

Now I am getting following Linker errors:

Undefined symbols for architecture x86_64:

  "boost::basic_regex<wchar_t, boost::regex_traits<wchar_t, boost::cpp_regex_traits<wchar_t> > >::do_assign(wchar_t const*, wchar_t const*, unsigned int)", referenced from:

      smart::CAdWrksTagDataFactory::GetPrice(wchar_t const*) in AdWrksTagDataFactory.o

      CAdWrksInDesignGridParser::Parse(IDocument*) in AdWrksInDesignGridParser.o

      CAdWrksInDesignGridParser::CollectedGridFrame(InterfacePtr<IHierarchy>&, InterfacePtr<ISpread>&, int, smart::CAdWrksGridTagFinder&) in AdWrksInDesignGridParser.o

      CAdWrksInDesignStyleParser::Parse(IDocument*) in AdWrksInDesignStyleParser.o

  "boost::match_results<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > > const&)", referenced from:

boost::re_detail_106000::perl_matcher<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > >, boost::regex_traits<wchar_t, boost::cpp_regex_traits<wchar_t> > >::match_prefix() in AdWrksTagDataFactory.o

My Linking Section in Build Setting looks like in the following image.

I would really appreciate some help here. Thank you.

This topic has been closed for replies.
Correct answer Manan Joshi

For CC 2017 the recommended version of Xcode is 7.2.1 and for CC2015 Xcode 5.0.2 is recommended. You can get all this information regarding the recommended dev environment from the docs shipped along with the SDK.

P.S. :- The base sdk to be used is also mentioned in the docs, you could also refer the sdk sample projects to look at what base sdk is to be used. For CC2017 its 10.11 i suppose.

-Manan

2 replies

Community Expert
February 3, 2017

The recommended version of Xcode to use for CC2017 plugins is 7.2.1. These errors of symbol not found for the architecture are generally associated with using wrong MAC SDK for the project, this should be fixed on using the correct version of Xcode most probably.

-Manan

-Manan
RJ9191Author
Known Participant
February 8, 2017

So what do you suggest? Which version of XCode and OSX SDK I should use?

For InDesign CC 2015 Base SDK was OSX 10.8, for this plugin; and XCode 4.6.2 was used.

So far I have been trying to use XC0de 5.0.1 with Base SDK OSX 10.9.

Pickory

Manan JoshiCommunity ExpertCorrect answer
Community Expert
February 8, 2017

For CC 2017 the recommended version of Xcode is 7.2.1 and for CC2015 Xcode 5.0.2 is recommended. You can get all this information regarding the recommended dev environment from the docs shipped along with the SDK.

P.S. :- The base sdk to be used is also mentioned in the docs, you could also refer the sdk sample projects to look at what base sdk is to be used. For CC2017 its 10.11 i suppose.

-Manan

-Manan
Legend
February 2, 2017

Hi,

I think the documentation is wrong, you need Xcode 7 some thing. ( i think )

P.