AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Компиляция плагинов в VisualStudio 2005

 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Kartun



Joined: 09 Feb 2007
Posts: 1

PostPosted: Sat Feb 10, 2007 8:41 am    Post subject: Компиляция плагинов в VisualStudio 2005 Reply with quote

Для успешной компиляции Akelpad/plugins ytj,[jдимо иметь VisualC Toolkit 2003, который можно [url=http://xona.com/programs/VCToolkitSetup(v1.01)(2004.07.06).zip]взять тут[/url]
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Sat Feb 10, 2007 5:48 pm    Post subject: Reply with quote

Мною используются для компиляции:
1. Microsoft Visual C++ Toolkit 2003 + Microsoft Platform SDK
2. Microsoft Visual C++ 6.0 (для IDE).

Но не думаю, что возникнут особые проблемы с другими C++ компиляторами, т.к. плагины и программа написаны на С.
Back to top
View user's profile Send private message Send e-mail
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Thu Oct 14, 2010 4:44 pm    Post subject: Reply with quote

Microsoft Visual C++ Toolkit 2003

Нашёл вот тут. После этого надо указать путь (по дефолту C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib) в Сервис - Параметры - Каталоги VC++ - Файлы библиотек.

Теперь вопрос: как отлаживаться? Студия ругается, что "нет загруженных символов для этого документа" и отказывается останавливаться на брейкпоинтах. Pdb файл лежит рядом с плагином, даже собрал сам Акель с Pdb файлом - не помогло.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2056
Location: Vinnitsa, Ukraine

PostPosted: Thu Oct 14, 2010 6:08 pm    Post subject: Reply with quote

Всё компилируется и работает в VS2005/2008 без особых загвоздок. Рекомендую только обратить внимание на некоторые функции из stdlib.h и stdio.h (если используете) например на sprintf - разные версии CRT от Microsoft, так что в итоге может и упасть. На MSVS 2003 (IDE) тоже проблем нету.
Instructor, Вам конечно виднее, но по моему часть плагинов и редактор написаны на C++(ну не строится оно с ключом /TC как не крути).

Fr0sT
Чем компилировали и в какой студии отлаживаем? Проблемы с точками останова у меня решались перегрузкой системы(редко перегрузкой студии). Зато NTSD очень даже хорошо останавливался на любых точках останова.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 15, 2010 6:27 am    Post subject: Reply with quote

FeyFre, поставил то, что было под руками - VS2008 express. Подозреваю, проблема именно в том, что студия ищет некий отладочный файл и не находит. *тут следует экспрессивная сентенция на тему сравнения удобства VS и RAD studio, которая вырезана цензурой*
Я в этой среде дуб дубом, поэтому и прошу о руке помощи. Кстати, когда я пытался поковырять плаг к миранде, то же самое было. И это была, кажется, 2005-я студия.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Fri Oct 15, 2010 6:48 am    Post subject: Reply with quote

FeyFre
Quote:
Instructor, Вам конечно виднее, но по моему часть плагинов и редактор написаны на C++(ну не строится оно с ключом /TC как не крути).
Это был вызов Smile Файлы в версии 4.5.0 будут с расширением С. Наличие расширения CPP обуславливалось тем, что компилятор отказывался компилировать COM вызовы на GCC, но спустя 3 года (предыдущее сообщение) решил поискать снова и нашел решение Smile
Back to top
View user's profile Send private message Send e-mail
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 15, 2010 8:04 am    Post subject: Reply with quote

О! Незнамо как, но оно зашевелилось!!! Причем ничего нового не делал, просто удалил проекты и собрал их полностью заново. И глюк с дублирующимся манифестом при сборке Акеля исчез, и в dll-ку входит и останавливается. Красота!
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2056
Location: Vinnitsa, Ukraine

PostPosted: Fri Oct 15, 2010 9:30 am    Post subject: Reply with quote

Instructor
Дело не в расширении, что Вы. Простым переименованием точно не обойдетесь. Cool


Fr0sT, ключи линкеру и компилятору по поводу отладочной информации все задали? Я, кстати, особо не уверен насколько могуча експресс студия в плане отладки на ходу.
Миранда... на 6.0 и на 9.0 студиях вроде-бы работало(однажды пришлось допилить брошенный три года назад плагин, который не мерился с некоторыми условностями 0.9).
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 15, 2010 11:05 am    Post subject: Reply with quote

FeyFre
в прошлую попытку дошёл до того, что повключал вообще ВСЁ, что только можно и что связано с отладкой - в итоге схлопотал 4 загадочных ошибки линкера. В этот, удачный, раз - только перенастроил пути, чтобы плаг компилился в AkelFiles\Plugs, и всё заработало. В миранде я как раз застопорился на стадии "отладочных символов".

Кстати, Инструктор, просто ради интереса: зачем реализовывать собственную функцию перевода регистра, если есть WinAPI функция CharUpperBuff? Smile
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2056
Location: Vinnitsa, Ukraine

PostPosted: Fri Oct 15, 2010 1:11 pm    Post subject: Reply with quote

Quote:
Кстати, Инструктор, просто ради интереса: зачем реализовывать собственную функцию перевода регистра, если есть WinAPI функция CharUpperBuff?
1. Где?(Вроде бы Инструктор пользуется такими везде где только видел).
2. CharUpperBuff и ей подобные имеют проблемы с некоторыми локалями(так в MSDN написано), потому наверно Инструктор решил рискнуть собственной реализацией.
Quote:
В этот, удачный, раз - только перенастроил пути, чтобы плаг компилился в AkelFiles\Plugs, и всё заработало. В миранде я как раз застопорился на стадии "отладочных символов".
По опыту знаю: если есть исходники, то лучше всего отлаживаться компилируя самостоятельно, а не аттачится к сделанному кем-то бинарнику надеясь что сделанные кем-то другим отладочные символы подойдут.(Плагины к Акелу дебажу на собственноручно построенном Акеле).
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 15, 2010 2:20 pm    Post subject: Reply with quote

FeyFre
Quote:
Где?(Вроде бы Инструктор пользуется такими везде где только видел).

Не знаю, я увидел две "портянки" в AkelDLL, вот и спросил)

Quote:
если есть исходники, то лучше всего отлаживаться компилируя самостоятельно, а не аттачится к сделанному кем-то бинарнику надеясь что сделанные кем-то другим отладочные символы подойдут

Просто я впервые с такими трудностями сталкиваюсь, в Дельфях прекрасно аттачился к совершенно чужим экзешникам без какой бы то ни было отладочной инфы и горя не знал.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2056
Location: Vinnitsa, Ukraine

PostPosted: Fri Oct 15, 2010 4:07 pm    Post subject: Reply with quote

Quote:
Не знаю, я увидел две "портянки" в AkelDLL, вот и спросил)
Странно. AkelDLL в исходниками 4.4.9 с этой точки зрения "чист".
Quote:
Просто я впервые с такими трудностями сталкиваюсь, в Дельфях прекрасно аттачился к совершенно чужим экзешникам без какой бы то ни было отладочной инфы и горя не знал.
Чур на Вас! Не переношу на дух Delphi/C Builder. Very Happy
При определенной сноровке(при условии что матчасть прочли) любой отладчик атачится к бинарнику любого компилятора.(Сейчас вполне успешно можно с помощью MSVS отлаживать бинарники созданные Flat Assembler-ом с подтягиванием иходников)
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group