fatal error LNK1120

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
1,104
Реакции
319
Ошибка
error LNK2001: неразрешенный внешний символ ""char * (__cdecl* g_fn_GetAmxString)(struct tagAMX *,int,int,int *)"
Компилятор
Локальный
Amx Mod X
1.10.0
Исходный код
Прикрепил файл
Пробую писать свой плагин на C++ для AMXMODX но вот что-то при использовании MF_GetAmxString появляется ошибка компиляции:

Код:
1>   Создается библиотека D:\CounterStrike\karlab_public\karlab\Release\karaulovlab_amxx.lib и объект D:\CounterStrike\karlab_public\karlab\Release\karaulovlab_amxx.exp
1>Source.obj : error LNK2001: неразрешенный внешний символ ""char * (__cdecl* g_fn_GetAmxString)(struct tagAMX *,int,int,int *)" (?g_fn_GetAmxString@@3P6APADPAUtagAMX@@HHPAH@ZA)"
1>D:\CounterStrike\karlab_public\karlab\Release\karaulovlab_amxx.dll : fatal error LNK1120: неразрешенных внешних элементов: 1
1>Сборка проекта "KaraulovLab.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
При использовании остальных функций типа MF_RegisterForward MF_AddNatives и т.п таких ошибок не появляется.
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
И кстати вот линк на репу, для тех, кто не желает качать архив или это не удобно по какой-то либо причине. Допустим, с телефона посмотреть хочется, а архив качать лень.



karaulov принимай на заметку этапы дружелюбия к сообществу, сэкономь их время и они тебя "отблагодарят" :good2:
 
Последнее редактирование:
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Привет, я конечно не разработчик, и быть может ошибаюсь, но я заметил некое отличие.

Необходимый натив найден всего-лишь в 3 файлах.
1611399698862.png


А те, что работают - найдены больше раз.
1611399774673.png
1611399804411.png


karaulov может быть это как-то связано?
 
Последнее редактирование:
Сообщения
1,104
Реакции
319
Я голову сломал уже разные версии metamod и amxmodx sdk ставил, наверное поищу работающие модули с такой функцией если найду как исправить напишу.
 
Сообщения
1,104
Реакции
319
Если заменить
C++:
-typedef char * (*PFN_GET_AMXSTRING) (AMX* /*amx*/, cell /*amx_addr*/, int /*bufferId*/, int * /*pLen*/);
+typedef char * (*PFN_GET_AMXSTRING) (AMX* /*amx*/, int /*amx_addr*/, int /*bufferId*/, int * /*pLen*/);
ошибка пропадает по неизвестной мне причине.
 
Последнее редактирование модератором:
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Судя по всему актуальным является именно cell
 
Сообщения
1,104
Реакции
319
Проблема была в том что HAVE_STDINT_H был указан только в source.cpp , а нужно было указать глобально.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу