Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 10
1
MASM32

Ошибка компиляции примера Iczelion'a tut17c.asm "Error A2005: symbol redefinition"

21.03.2016, 22:00. Показов 7470. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! У меня возникла проблема. У меня есть .dll, и .asm который запускает этот .dll ( делал по уроку с этого сайта), и при компиляции в masm32 выбивает:
D:\masm32\tut17c.asm(79) : error A2005: symbol redefinition : MessageBoxA
D:\masm32\tut17c.asm(81) : error A2005: symbol redefinition : LoadLibraryA
D:\masm32\tut17c.asm(82) : error A2005: symbol redefinition : GetProcAddress
D:\masm32\tut17c.asm(83) : error A2005: symbol redefinition : FreeLibrary
_
Assembly Error.
Пожалуйста подскажите что не так, при поиске проблемы в Интернете, везде пишут что это проблема с windows.inc. Уже переустанавливал masm32, проблема осталась. Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2016, 22:00
Ответы с готовыми решениями:

Ошибка компиляции "windows.inc: error A2005: symbol redefinition"
Доброго времени суток. Пытаюсь masm32 скомпилировать простенький хэллоуворд: .386 ...

Вывести все палиндромы в введённой строке. error A2004: Redefinition of symbol
Задание указано в заголовке. Нашёл видео индийца в ют, переписал код, который определяет, является...

Ошибка компиляции: error: LNK2001: unresolved external symbol
Здравствуйте, только начал изучать Qt. Сразу же столкнулся с такой проблемой: про создании класса и...

Ошибка компиляции примера к RADAsm для FASM - "beer.asm"
уомпилирую исходник а он мне в ответ ошибку, что тут нетак, среда RadASM ; Beer - example of Win32...

[Решено] Ошибка: "Undefined symbol _main in module c0.ASM" при компиляции в пакетном режиме
Доброго времени суток всем! При компиляции в пакетном режиме выходила следующая ошибка:...

19
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
21.03.2016, 22:31 2
Patchi, а хде же ж код, вешай его здесь, например ;о)

Мы сначала в твой исходник поглядим,
А потом тебя зожарим и съедим!11 ;о)
1
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 10
21.03.2016, 22:39  [ТС] 3
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
; masm dos com #
.386p
.model flat,stdcall
option casemap:none
;for WinXP - 498 bytes
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.data
.code
exebase equ 400000h
main:
include capito.asm
;----------------------------------
start:  xchg eax,ebx
    mov ebp,ebx
    invoke GetProcAddress,offset tut17a_dll+exebase
xchg eax,ecx
    jecxz a1
    mov edi,ecx  ; хэндл библиотеки (DLL)
        invoke GetProcAddress,ecx,offset aTestHello+exebase
inc ebp
        xchg eax,ecx
    jecxz a1
    mov TestHelloAddr+exebase,ecx
        call dword ptr TestHelloAddr+exebase
jmp a3
a1:     invoke MessageBox,ebx,[handle_message+ebp*4+exebase],offset aLoadLibrary+exebase,0
    dec ebp
    jnz a2
a3:     invoke FreeLibrary,edi
a2:     retn                        
;----------------------------------
aLoadLibrary db "Load Library",0
DllNotFound db "Cannot load library",0
FunctionNotFound db "TestHello function not found",0
handle_message dd DllNotFound+exebase,FunctionNotFound+exebase
tut17a_dll db "tut17a.dll",0
aTestHello db "TestHello",0
TestHelloAddr dd ?  ; адpес функции TestHello    
;----------------------------------
import: 
dd 0,0,0,user32_dll
dd user32_table
dd 0,0,0,kernel32_dll
dd kernel32_table
dd 0,0
user32_table:            
MessageBox      dd _MessageBox,0
kernel32_table:
LoadLibrary dd _LoadLibrary
GetProcAddress  dd _GetProcAddress
FreeLibrary dd _FreeLibrary
        dw 0
_MessageBox db 0,0,'MessageBoxA',0
user32_dll  db 'user32'
_FreeLibrary    db 0,0,'FreeLibrary'
_GetProcAddress db 0,0,'GetProcAddress'
_LoadLibrary    db 0,0,'LoadLibraryA',0
kernel32_dll    db 'kernel32'          
end_import:
end main
0
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
21.03.2016, 22:52 4
Интересно, а сам ошибку не найдёшь (вот ссылка на этот урок, например ;о)
0
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 10
21.03.2016, 23:01  [ТС] 5
Я не понимаю в чем проблема! Я скачал файлы которые были предложены с готовым материалом, там была готовая уже exe-шка. Мне нужно переработать message box на своё сообщение. Но возник с проблемой которую описал высше. Я не понимаю в чем проблема. Я уже даже пробовал открыть windows.inc в блокноте, и заменял такие операторы как LoadLibrary символами 'equ 80029C4Ah', всёравно без результата. Прошу помощи у Вас!
0
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
21.03.2016, 23:10 6
Ну ёлы-палы, Patchi, посмотри в начало своего исходника и в начало исходника урока. Неужели не видишь, что у тебя подключены библиотеки, которых нет в уроке: kernel32 и user32, например? ;о)
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
21.03.2016, 23:29 7
Цитата Сообщение от Patchi Посмотреть сообщение
Я не понимаю в чем проблема!
Проблема, как всегда, в коннекте рук.
Ахахаха! Такой древний приём. ТС, поставь себе win95 или win2000 и всё поймёшь. Отладчик SoftICE не помешает. Правда, не всегда и не всем.
0
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 10
21.03.2016, 23:54  [ТС] 8
Библиотеки я подключил потому что без них у меня было ошибок в разы больше, а именно синтаксического еррора, так что дело не в библиотеках!
0
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
22.03.2016, 00:20 9
Patchi, когда читать научишься, например? ;о)
у тебя:
.386p
.model flat,stdcall
option casemap:none

в примере:
.586p
.model tiny
1
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
22.03.2016, 04:24 10
Patchi,
Если у тебя не Windows XP, тогда замени строку start: xchg eax,ebx на строку start: xor ebx,ebx
0
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 10
22.03.2016, 16:26  [ТС] 11
Кибер, это не проблема, такую как в уроке я делал без изменений, оно НЕ РАБОТАЕТ! Возможно потому что сделано не в masm а в tasm или ещё в чем то, но сейчас четко описана проблема а именно в ошибке A2005, и процесор и библиотеки к нему не имеют никакого отношения!
П.С. У меня стоит windows xp 2000. И мне нужно её сделать именно в masm32, так как это лабораторная робота.
0
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
22.03.2016, 17:51 12
Цитата Сообщение от Patchi Посмотреть сообщение
include capito.asm
Вот это покажите
0
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
22.03.2016, 22:42 13
Цитата Сообщение от Patchi Посмотреть сообщение
Кибер, это не проблема, такую как в уроке я делал без изменений, оно НЕ РАБОТАЕТ! Возможно потому что сделано не в masm а в tasm или ещё в чем то... И мне нужно её сделать именно в masm32, так как это лабораторная робота.
Просто эти уроки написаны в стиле участия в специальной олимпиаде по написанию экстремально коротких экзешников, например ;о) Ты же не разобравшись пытаешься их лечить подключением стандартных библиотек, поэтому у тебя и ошибки лезут (к тому же, как выясняется, их ещё под разные оси надо допиливать, например ;о)

Для лабы выбери другой курс уроков в нормальном стиле, например ;о)


Вот уроки в классическом стиле в переводе на русский язык: тынц, например ;о)
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
23.03.2016, 03:58 14
KyberMax,
перед переходом к уроку 17a Patchi, наверное, стоило разобраться с 17-ым уроком, классический перевод, никакого экстрима, подключение inc- и lib-файлов, invoke-вызовы и т.д. и т.п.
0
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
23.03.2016, 10:19 15
Mikl___, KyberMax, Ребята от темы отходим.

Цитата Сообщение от Patchi Посмотреть сообщение
error A2005: symbol redefinition
Могли бы ошибку прогуглить, на некоторых сайтах есть её перевод и толкование значения. На крайний случай есть автопереводчики и их помощью перевести:символ переопределяется или другими словами - Вы подключив инкуды, ещё подключаете capito.asm, в котором указанные функции прописанны явно. Отсюда и попытка переопределения символов таких как MessageBoxA.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
23.03.2016, 11:26 16
Constantin Cat,
для чего мне "ошибку гуглить" если я эти уроки Iczelion'a переделывал? в capito.asm -- упрощенный РЕ-заголовок, а MessageBoxA в разделе импорта находится
0
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
23.03.2016, 11:31 17
Mikl___, Упс, для Вас предназначалось:
Цитата Сообщение от Constantin Cat Посмотреть сообщение
Ребята от темы отходим.
0
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
25.03.2016, 06:59 18
Цитата Сообщение от Mikl___ Посмотреть сообщение
KyberMax,
перед переходом к уроку 17a Patchi, наверное, стоило разобраться с 17-ым уроком, классический перевод
Скорее всего ему вообще рано такое читать и уж точно не надо для лабы (а он, пытаясь разобраться, ещё и время потратил вместо того, чтобы готовиться, например ;о) Я сам сразу не понял, что это ВНЕЗАПНО смесь из перевода Aquila и твоих вариаций на эту тему (возможно, следовало бы предупреждать в начале таких уроков, что это факультативный материал, например ;о)

Неплохо было бы сделать к этому материалу оглавление, как в твоей книге с разбивкой по главам/постам (а то очень трудно ориентироваться: очень длинные страницы, например ;о)
1
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
25.03.2016, 08:34 19
KyberMax,
спасибо за совет!
0
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 10
30.03.2016, 17:16  [ТС] 20
Всем спасибо ребята за помощь. Проблему решил просто, взял вложения с предыдущего урока, там всё работало, и сделано в таком формате к которому я привык! Проблему с загрузкой динамической библиотеки, месадж боксом и выгрузкой была решена. Спасибо!

Добавлено через 2 минуты
Спсибо! Так и сделал, очень просто и доступно, с помощью LoadLibrary!

Добавлено через 2 минуты
Мне не рано, я на 3 курсе, и уже долговато изучаю это. Просто не приходилось работать в ассемблере.
0
30.03.2016, 17:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2016, 17:16
Помогаю со студенческими работами здесь

Ошибка компиляции примера "prax05.asm" из цикла статей "Дневники чайника"
начал изучать ассемблер на одном сайте и вот тут застрял Первый пример Windows-программы Давайте...

Ошибка error: cannot find symbol symbol: variable x_data1
Код даёт ошибки: error: cannot find symbol byte rez = x_data1 +...

Ошибка error: redefinition of ‘void DayofYear::set_month()’
Помогите устранить ошибку class5.cpp:25:6: error: redefinition of ‘void DayofYear::set_month()’...

symbol redefinition MASM
Привет всем. Задание - вывести строку, каждый символ разным цветом. Когда запускаю - выкидает...

Баг при компиляции Maven: compilation error cannot find symbol
Доброго всем времени суток! Создавал в Intellij IDEA вот такой проект: MainModule (Maven...

Ошибка при подключении плагина QPSQL "Symbol lookup error undefined symbol pqstatus"
Подскажите пожалуйста. Подключила драйвер PSQL, но при попытке выполнить код QSqlDatabase db...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru