Copy link to clipboard
Copied
Hi all,
When I am trying to buid my plug-ins in InDesign CC 2017.1 using mac I am getting this errors:
library not found for -lPublicPlugIn.
I have my library path set as: $(FRAMEWORK_SEARCH_PATHS) $(ID_FRAMEWORKS_RELDIR) $(ID_DYLIBS_RELDIR) "$(SDKROOT)/System/Library/Frameworks"
What do I have to do now?Do I have to change any of my build settings?
Regards,
Revathi
Copy link to clipboard
Copied
The correct name of the library is libPublicPlugIn.a (the error you are getting is not showing the correct name)
Check if this is included in your project or not? If it is then in order to sort out the path problem you can include the absolute path of the library in your library path and see if it works or not.
-Manan
Copy link to clipboard
Copied
Hi Joshi,
I have the library included in my project.I have set my library path as :
$(ID_SDK_ROOT)/build/mac/release_cocoa64/packagefolder/contents/macos/libs $(ID_SDK_ROOT)/build/mac/release_cocoa64/packagefolder/contents/Frameworks $(ID_SDK_ROOT)/build/mac/release_cocoa64/packagefolder/contents/macos
Now I getting error as :
Undefined symbols for architecture x86_64:
"_FSGetCatalogInfoBulk", referenced from:
MacFileSystemIterator::FindNextFile(IDFile&) in MacFileSystemIterator.o
MacFileSystemIterator::GetImmediateChildren(IDFile const&, K2Vector<IDFile, K2Allocator<IDFile> >&, int) in MacFileSystemIterator.o
"_FSCloseIterator", referenced from:
MacFileSystemIterator::FindNextFile(IDFile&) in MacFileSystemIterator.o
MacFileSystemIterator::GetImmediateChildren(IDFile const&, K2Vector<IDFile, K2Allocator<IDFile> >&, int) in MacFileSystemIterator.o
"_FSOpenIterator", referenced from:
MacFileSystemIterator::FindFirstFile(IDFile&, PMString) in MacFileSystemIterator.o
MacFileSystemIterator::GetImmediateChildren(IDFile const&, K2Vector<IDFile, K2Allocator<IDFile> >&, int) in MacFileSystemIterator.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What do I have to do now?
Copy link to clipboard
Copied
You need to include Carbon framework in your project. Try it
-Manan
Copy link to clipboard
Copied
Hi Manan,
Where do I have to place this framework?
Regards,
Revathi
Copy link to clipboard
Copied
Add it to your project like you must have added InDesign frameworks like InDesignModelAndUI.framework
Carbon.framework would be present at /System/Library/Frameworks folder
Copy link to clipboard
Copied
MacFileSystemIterator and WinFileSystemIterator were removed from sdk.
Use PlatformFolderTraverser instead.
Copy link to clipboard
Copied
Hi Norio,
How do I have to use it?
Regards,
Revathi
Copy link to clipboard
Copied
Refer /sdksamples/paneltreeview/PnlTrvDataModel.cpp.
Copy link to clipboard
Copied
It seems you do have a copy of MACFileSystemIterator source file compiling in your source code. If that is so, then linking it with the framework should work for you.
Copy link to clipboard
Copied
Mac 10.8 deprecated OS file manager APIs which were used in MacFileSystemIterator.
There are some problems while using this iterator on Mac 10.8 and later.
Copy link to clipboard
Copied
Hi,
I am using mac 10.11.How do I have to link MACFileSystemIterator?
Regards,
Revathi
Copy link to clipboard
Copied
As told by Norio, API's in MACFileSystemIterator are deprecated so its better you use PlatformFolderTraverser as suggested by him. However if you have the cpp file for MACFileSystemIterator and want to use it, then include it in your project and also add the Carbon.framework file into your project. Everything has been discussed already in the thread, i can't understand what confusion is there on your end.
-Manan
Copy link to clipboard
Copied
Deprecated APIs in OS X 10.8 were removed from CoreServices of OS X 10.10.3.
InDesign CC 2017 sdk uses MacOS10.11.sdk, you can't use old MacFileSystemIterator code.
Carbon APIs aren't able to use with InDesign CC 2017 sdk too.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more