|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 31, 2004 21:21:55 Пожалуйста помогите! Почему MASM выдает ошибку unresolved external symbol _InitCustomControls@4 InitCustomControls включена в библиотеку core.lib, правда в аттач она не влезла (ограничение 50 кб) _1253668003__error.rar |
|
|
Дата: Май 31, 2004 21:26:08 :) invoke InitCustomControls,hInst Ты откуда сие выкопал-то? Функция воидная ведь :) Бачишь? void InitCommonControls(VOID); |
|
|
Дата: Май 31, 2004 21:26:41 И вообще, постеснялся бы такие вопросы задавать! |
|
|
Дата: Май 31, 2004 21:36:36 А причем здесь InitCommonControls? Проблема в InitCustomControls |
|
|
Дата: Май 31, 2004 22:15:28 Ой, виноват. А откуда ты сие нашел? В MSDN упоминания о чуде сием нет! |
|
|
Дата: Май 31, 2004 22:22:46 SDK для 3D Studio MAX - решил попробовать написать плагин для этой программы на асме. Может скинуть core.lib аттачами по кускам? Я так понял, что MASM пытается искать _InitCustomControls@4, но почему? |
|
|
Дата: Май 31, 2004 22:26:37 MASM пытается найти функцию, принимающую один параметр, как это видно из исходника. Кидать порубленую lib сюда смысла не имеет. Покажи командную строку линкера для сборки твоего проекта. |
|
|
Дата: Май 31, 2004 22:38:06 C:\masm32\Bin\ML /c /coff /Cp /nologo /I"C:\masm32\Include" "c:\WinAsm\Plugins for max\test.asm" C:\masm32\Bin\Link /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"C:\masm32\Lib" /DLL /DEF:"c:\WinAsm\Plugins for max\test.def" "c:\WinAsm\Plugins for max\test.obj" |
|
|
Дата: Май 31, 2004 22:48:22 Не вижу аттача core.lib. В LIBPATH прописан лишь путь к масмовским dll, где загоняется сама core.lib и где путь к ней? Пропиши. |
|
|
Дата: Май 31, 2004 23:05:52 Все та же ошибка. Помоему в core.lib функция вообще называется InitCustomControls@@YAXPAUHINSTANCE__@@@Z |
|
|
Дата: Май 31, 2004 23:13:49 Ага. А вот это называется "замангление имен" в С++. Видно, придется этот вопрос в FAQ загнать. |
|
|
Дата: Май 31, 2004 23:44:01 Почитай FAQ, я там написал. В твоем случае тебе придется прямо звать InitCustomControls@@YAXPAUHINSTANCE__@@@Z. Занятие для мазохистов, но выбора у тебя нет. |
|
|
Дата: Июн 1, 2004 00:08:54 Все равно выдает ошибку! Может я не правильно определил имя? |
|
|
Дата: Июн 1, 2004 00:23:16 Может быть. Там много проблем. Ты меня заинтересовал. Убедись, что ты в точности узнал имя и забецай его сюда. |
|
|
Дата: Июн 1, 2004 00:34:39 Значит так. Чего я тут надумал. Даю идеи. 1) Мы должны узнать какие параметры нужны функции. Для этого мы должны разманглить ее имя (или посмотреть в документацию). Разманглить имя просто. Надо заюзать undname. Вот так: undname ??0bad_cast@@QAE@ABQBD@Z Microsoft (R) C++ Name Undecorator Copyright (C) Microsoft Corporation 1981-2001. All rights reserved. Undecoration of :- "??0bad_cast@@QAE@ABQBD@Z" is :- "public: __thiscall bad_cast::bad_cast(char const * const &)" 2) Определить прототип функции в файле через PROTO. Типа: ??0bad_cast@@QAE@ABQBD@Z PROTO C arg1:PCHAR, arg2:PCHAR 3) Написать прямо в файле в нужном месте: invoke ??0bad_cast@@QAE@ABQBD@Z чего-то там, что надо. В С такая фича не прокатывает, т.к. имя, содержащее "?" или "@" валидным не является. Как это побороть, я не знаю. На асме у ml имя выше возмущения не вызвало. Попробуй, может повезет. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.073 |