Плагин InDesign с Boost.Filesystem не отображается в программе

Я пытаюсь разработать собственный плагин InDesign с помощью Adobe SDK. Все было хорошо, пока я не добавил некоторые функции из Boost.Filesystem. Когда я статически связываю boost_filesystem и boost_system с решением, все собирается и плагин компилируется, но InDesign его не загружает. После их удаления он снова появляется в InDesign. Кто-нибудь знает, почему это происходит и как решить эту проблему?


person Archie    schedule 02.03.2012    source источник
comment
Вы на какой ОС? Что вы сделали, чтобы отладить проблему? В лог консоли что-нибудь пишется? Как узнать, что плагин не загружается? Может быть, он загружается, но каким-то образом сообщает приложению, что оно не может выполнять функцию? что ты уже испробовал?   -  person user1118321    schedule 05.03.2012
comment
Попробуйте проверить зависимости вашего плагина с помощью DUMPBIN /DEPENDENTS , вы можете обнаружить, что dll была случайно динамически связана с какой-то библиотекой.   -  person Igor R.    schedule 05.03.2012


Ответы (2)


проверка команды boost build может быть полезной

Boost может быть собран со статической ссылкой на среду выполнения c или динамической ссылкой на среду выполнения c.

я думаю, вы должны статическую ссылку на bjam среды выполнения c --with-filesystem --with-sytem runtime-link=static link=static

person jia    schedule 11.03.2012
comment
Это была на самом деле эта проблема, но я до сих пор не могу сказать, почему. Не могли бы вы объяснить дальше? - person Archie; 13.03.2012
comment
во-первых, ваша программа должна быть связана со средой выполнения C, затем, когда вы динамически связываетесь со средой выполнения C, DLL среды выполнения C должна быть деполирована на целевой компьютер, если среда выполнения C не деполирована, программа не запустится, вы можете видеть журнал событий для этого. поэтому, просто статическая ссылка на среду выполнения C, ваше приложение не будет иметь никаких зависимостей, оно должно работать нормально. кстати, статическая ссылка увеличит размер бинарника. - person jia; 13.03.2012

Вы должны включить свою библиотеку boost из исполняемого файла InDesign: вы можете найти их на Mac в /Adobe InDesign CS5.app/Contents/Frameworks.

person Rémi Doolaeghe    schedule 06.12.2012