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 

Версия x64
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
FeyFre



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

PostPosted: Wed Dec 29, 2010 8:59 pm    Post subject: Reply with quote

Quote:
Поконкретнее - какая ошибка?
R6034(не смог правильно инициализировать CRT)
Причину ошибки выяснил: возникает при попытке подгрузить плагин(либо при автозагрузке, либо при перечислении в окне плагинов. Хотя в при автозагрузке у меня не всегда выскакивает), у которого есть манифест. Но Акел не падает, работает дальше.
Плагин с манифестом с CRT не линкуется вообще, только с user32 и kernel32(манифест туда попал случайно, вероятнее всего при добавления 64-битной платформы студия сделала лишнее).
(Вынужден линковать Акел с libcmt.lib на 32-битной платформе ибо с какого-то перепугу AkelEdit.obj требует @__security_check_cookie@4)
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5311

PostPosted: Thu Dec 30, 2010 9:06 am    Post subject: Reply with quote

FeyFre
http://sourceforge.net/tracker/?func=detail&aid=3103222&group_id=163014&atid=826065
Back to top
View user's profile Send private message Send e-mail
FeyFre



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

PostPosted: Thu Dec 30, 2010 1:28 pm    Post subject: Reply with quote

Instructor
Точно! А ведь сам когда-то допер до такого решения...
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
ABTOP



Joined: 03 Jan 2011
Posts: 16

PostPosted: Tue Jan 04, 2011 11:46 am    Post subject: Reply with quote

Где взять plugin XBrackets для версии x64?
Back to top
View user's profile Send private message
se7h



Joined: 28 Sep 2009
Posts: 767
Location: Minsk, Belarus

PostPosted: Tue Jan 04, 2011 12:28 pm    Post subject: Reply with quote

ABTOP
автор плагина (DV) видимо ещё не выпустил х64 версии
Back to top
View user's profile Send private message
FeyFre



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

PostPosted: Tue Jan 04, 2011 12:29 pm    Post subject: Reply with quote

ABTOP
Тут, и только тут http://sourceforge.net/projects/akelpad/files/AkelPad%204/4.5.2/x64/AkelPad-4.5.2-x64-setup.exe/download
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
ABTOP



Joined: 03 Jan 2011
Posts: 16

PostPosted: Tue Jan 04, 2011 1:04 pm    Post subject: Reply with quote

FeyFre
Нету его там Sad
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 839
Location: Kyiv, Ukraine

PostPosted: Fri Jan 14, 2011 9:21 am    Post subject: Reply with quote

У меня неумный вопрос... Открыл проект QSearch8x, добавил новую платформу x64 (настройки наследованы от Win32), и при попытке собрать Release x64 выдаёт вот что:

Quote:
1>DialogSwitcher.obj : error LNK2001: unresolved external symbol __imp_SendMessageW
1>DialogSwitcher.obj : error LNK2001: unresolved external symbol __imp_ShowCaret
...
1>QSearch.obj : error LNK2001: unresolved external symbol __imp_RegQueryValueExW
1>QSearch.obj : error LNK2001: unresolved external symbol __imp_wsprintfA
...
1>QSearchDlg.obj : error LNK2001: unresolved external symbol __imp_GetWindowLongA
1>QSearchDlg.obj : error LNK2001: unresolved external symbol __imp_CreateWindowExW
...


Это что за нафиг?
Back to top
View user's profile Send private message
FeyFre



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

PostPosted: Fri Jan 14, 2011 10:54 am    Post subject: Reply with quote

DV
Не хватает либ для линковки.
Code:
1>DialogSwitcher.obj : error LNK2001: unresolved external symbol __imp_SendMessageW
1>DialogSwitcher.obj : error LNK2001: unresolved external symbol __imp_ShowCaret
...
1>QSearch.obj : error LNK2001: unresolved external symbol __imp_wsprintfA
...
1>QSearchDlg.obj : error LNK2001: unresolved external symbol __imp_GetWindowLongA
1>QSearchDlg.obj : error LNK2001: unresolved external symbol __imp_CreateWindowExW
user32.lib
Code:
1>QSearch.obj : error LNK2001: unresolved external symbol __imp_RegQueryValueExW
advapi32.lib

Я так предполагаю, студия настройки дополнительных либ при переходе через платформу копировать не пожелала(на всякий случай. Я бы тоже не пожелал бы). Я точно не вспомню, было ли у меня такое, или нет.(Только у меня версия студии 9.0, и поведение может быть разным)
PS: не забудьте что для сабклассинга на x64 нужно использовать Get/SetWindowLongPtr
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5311

PostPosted: Fri Jan 14, 2011 4:03 pm    Post subject: Reply with quote

DV
Возможно папка Lib в путях VS указана для x86.
Back to top
View user's profile Send private message Send e-mail
DV



Joined: 16 Nov 2006
Posts: 839
Location: Kyiv, Ukraine

PostPosted: Fri Jan 14, 2011 6:44 pm    Post subject: Reply with quote

Instructor wrote:
И свой memset вместо "={0};" сделать.

Насчёт этого поподробнее, пожалуйста Smile
Разве что-то не так с этим кодом:
Code:
wchar_t g_szFunctionQSearchW[128] = { 0 };

или с этим:
Code:
DOCK dk = { 0 };

?
Компилятор, вроде, не возражает.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5311

PostPosted: Fri Jan 14, 2011 7:48 pm    Post subject: Reply with quote

Возможно какой-либо флаг стоит на использование VCRedist (внешняя зависимость).
Quote:
Компилятор, вроде, не возражает.
Компилятор в случае например:
Code:
DOCK dk = { 0 };
оптимизирует это в memcpy вызов, что при /NODEFAULTLIB вызывает ошибку
Code:
error LNK2019: unresolved external symbol memset referenced in function CreateDock

Также и например
Code:
AECHARRANGE cr1;
AECHARRANGE cr2;
...
cr1=cr2;
Заменяется на memcpy.

Выход использовать свои memcpy и memset (код можно взять из StrFunc.h v4.4).
Back to top
View user's profile Send private message Send e-mail
DV



Joined: 16 Nov 2006
Posts: 839
Location: Kyiv, Ukraine

PostPosted: Fri Jan 14, 2011 8:10 pm    Post subject: Reply with quote

Instructor wrote:
Выход использовать свои memcpy и memset (код можно взять из StrFunc.h v4.4).

Кстати, насчёт этого. То, что я хочу предложить далее, не относится к архитектуре x64, а относится к архитектуре AkelPad и всех его плагинов. По моим наблюдениям, практически все плагины так или иначе используют некоторые стандартные функции из набора StrFunc.h, StackFunc.h и, возможно, WideFunc.h.
Предложение: почему бы не вынести эти функции в отдельный вспомогательный .dll файл? Типа сделать что-то наподобие AkelPad-CRT. Это сразу "облегчило" бы все плагины, которые используют данные функции.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2610
Location: Киев, Русь

PostPosted: Sat Feb 26, 2011 3:49 pm    Post subject: Reply with quote

Ставил x64-версию на Win7, следующие наблюдения:
1. Нет отдельно скачиваемого Plugs-пака - плохо.
2. Плаги только с английским интерфейсом - плохо.
3. Устанавливал Akel как обычную прогу (первый пункт при установке); запускаю обычный блокнот Windows, в верхней строке пишет "AkelPad - Блокнот", хотя если посмотреть "О программе", то показывает, что это виндовый notepad.exe... - странно всё это.
4. Ни один из плагов FeyFre не заработал, при вызове пишет "dll соотв. плагина по такому-то пути не может быть открыт", или что-то типа того, хотя все dll там есть (правильные пути).
Не знаю, связано ли с этим, но почему-то на папке с AkelPad'ом установлен замочек, хотя доступ на запись в папку и все вложенные папки/файлы под текущим пользователем имеется.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5311

PostPosted: Sat Feb 26, 2011 5:11 pm    Post subject: Reply with quote

VladSh
2. Выберите "Вид->Язык->Русский" и плагины будут на русском.
3. Чудеса "AkelPad" вместо "Безымянный" Smile
4. Когда делал релиз забыл, что у FeyFre dll для x64 в папке Plugsx64. Попробую автоматизировать, чтобы исключить такую ситуацию. AkelPad-4.5.5-x64-setup.exe перезалил.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 3 of 6

 
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