![]() |
|
![]() ![]() ![]() |
|
_hunter |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
Добрый день.
Подскажите, пожалуйста, как правильно подключить unicows (MFC линкуется статически). Если в Project->Properties...->Linker->Command line->Additional Options прописать
-- получаю кучу error LNK2005: ХХХ already defined in ХХХ.lib если же туда вписать просто
-- как-то странно работает MFC -- AfxRegisterClass бросает assertion потому как ::RegisterClass не может зарегестрировать класс (имя ей приходит как wchar_t*). -------------------- Tempora mutantur, et nos mutamur in illis... |
||||
|
|||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
ХМ...
Во первых я не пойму. а почему б МФС -ный Юникод не использовать? Во вторых вот из МСДН
Вроде ты делаешь правильно. Вот то что выделено жирным-как по мне , так сильно расплывчато.. и не понятно, конкретно.. Так может МФС юникоде тебе? Там всего одно нажатие в свойствах проекта... ![]() Это сообщение отредактировал(а) Coocky - 15.6.2006, 16:38 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
забыл написать -- все это шаманство из за того, что приложение на 98-х окнах работать должно.
а так -- что в свойствах проекта юникод стоит что макросы UNICODE/_UNICODE jghtltktys/ -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Да вот в этом то и дело. Если используешь МФС, то надо подключить " другие библиотеки " для гарантированой работы. Меня раздражают такие пояснения.. ![]() А какие функции не видит? Это сообщение отредактировал(а) Coocky - 15.6.2006, 17:47 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
так я и подключил:
mfc71u.lib mfcs71u.lib -- идут первыми ошибки: GCITrader error LNK2005: _free already defined in libcmtd.lib(dbgheap.obj) GCITrader error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in libcmtd.lib(typinfo.obj) GCITrader error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in libcmtd.lib(typinfo.obj) GCITrader error LNK2005: "public: virtual int __thiscall CDialog::PreTranslateMessage(struct tagMSG *)" (?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z) already defined in mfc71u.lib(MFC71U.DLL) GCITrader error LNK2005: "public: virtual int __thiscall CDialog::OnCmdMsg(unsigned int,int,void *,struct AFX_CMDHANDLERINFO *)" (?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z) already defined in mfc71u.lib(MFC71U.DLL) GCITrader error LNK2005: "public: virtual __thiscall CDialog::~CDialog(void)" (??1CDialog@@UAE@XZ) already defined in mfc71u.lib(MFC71U.DLL) и таких еще куча... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Static Link Libraries
Release Debug Description UAFXCW.lib,pdb UAFXCWD.lib,pdb Unicode MFC static link library Добавлено @ 17:28 Я тебе просто добавил перечень библиотек МФС ![]() ![]()
И еще вопрос- не компилится во всех типах сборки или только в одной? Это сообщение отредактировал(а) Coocky - 15.6.2006, 17:29 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
частично помогло -- число ошибок уменьшилось до семи:
две на libcmtd.lib GCITrader error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in libcmtd.lib(typinfo.obj) и остальные atls.lib GCITrader error LNK2005: "char const * const g_pszKernelObjFmt" (?g_pszKernelObjFmt@@3PBDB) already defined in atls.lib(Externs.obj) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Ну это еще ничего не значит ![]() Мой последний ход-и я пас ![]() Попробуй добавить в Linker->Command Line->Additional Options /FORCE:MULTIPLE Если нет-/FORCE:UNRESOLVED Если нет- все, я сдаюсь ![]() Может Earnest одойдет позже и поможет.... ![]() ![]() Добавлено @ 17:40
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Все, у него все собралось
![]() В аське договорились ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
![]() Не могли бы мне еще раз объяснить, почему нельзя в свойствах проекта поставить использование UNICODE? Тогда все должно подключиться правильно и само. Если этого нельзя делать, т.к. приложение должно функционировать на 98, отсюда следует, что подключаемые при этом библиотеки по 98 недоступны (я не знаю, так ли это). В таком случае возникает подозрение, что приложение для 98 вообще не может быть UNICODE. Однако можно использовать UNICODE версии многих функций - явно их называя. По-моему, так. Т.е. быстренько сделать пробный проект, легально включив UNICODE и проверить, как насчет 98. Если нет - то только отдельные UNICODE-функции. Добавлено @ 18:03 Ну и славно ... ![]() -------------------- ... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
в свойствах проекта UNICODE стоит.
но оно не запускалось на 98-й (потому как юникода там нет) специяльно для решения этой проблемы MS выпустили unicode layer теперь другая проблема появилась -- приложение запускается и даже немного работает, но как-то странно -- GetDlgItem() на диалоге возвращает NULL хотя возможно проблема и не в run-time' е -- id контрола почему-то == -1 Это сообщение отредактировал(а) _hunter - 15.6.2006, 18:33 -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Никогда не имела дела с unicode layer...
Обычно так анонимные статики называются по умолчанию. Но не факт, что позвав элемент с ид=-1 ты его получишь: там все хитро, нужно звать 65535. Нужно проверить ид-ры элементов в ресурсах. И не использовать IDC_STATIC для тех контролов, к которым собираешься обращаться. А вообще, нельзя решать слишком много проблем за один день ![]() Некачественно получится. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |