Я пытаюсь разработать собственный плагин InDesign с помощью Adobe SDK. Все было хорошо, пока я не добавил некоторые функции из Boost.Filesystem. Когда я статически связываю boost_filesystem
и boost_system
с решением, все собирается и плагин компилируется, но InDesign его не загружает. После их удаления он снова появляется в InDesign. Кто-нибудь знает, почему это происходит и как решить эту проблему?
Плагин InDesign с Boost.Filesystem не отображается в программе
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
Это была на самом деле эта проблема, но я до сих пор не могу сказать, почему. Не могли бы вы объяснить дальше?
- person Archie; 13.03.2012
во-первых, ваша программа должна быть связана со средой выполнения 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