Пользователь
- Сообщения
- 7
- Реакции
- 1
- Ошибка
-
[AMXX] Plugin "firsttest.amxx" failed to load: Module/Library "firsttest" required for plugin. Check modules.ini.
- Компилятор
- Локальный
- Amx Mod X
- 1.9.0
- Исходный код
-
none
Привет.
Решил попробовать собрать свой amxx модуль, но, едва начав, уже столкнулся с проблемой. Проблема заключается в том, что сервер не видит модуль, хотя , вроде бы, все подключено и сборка проходит без ошибок.
Ниже прилагаю фрагменты кода и скриншоты всего процесса.
Структура папки src
src/
├── build.bat
├── main.cpp
└── sdk/
main.cpp - исходник самого модуля
moduleconfig.h
build.bat - скрипт для сборки библиотеки
На выходе, после компиляции, получаю файл firsttest_amxx.dll. Ошибок никаких во время компиляции нету.
Полученную библиотеку помещаю в папку addons/amxmodx/modules
и подключаю ее в файле addons/amxmodx/configs/modules.ini (p.s. и с суффиксом _amxx, и без итог один и тот же)
Также, помимо подключения модуля, написал небольшой плагин для теста и заголовочный файл для него:
firsttest.sma
firsttest.inc
Далее я собираю плагин, перетащив исходник на файлик amxxpc.exe. Полученный выходной файл - firsttest.amxx, поместил в папку addons/amxmodx/plugins
а также подключил в файле addons/amxmodx/configs/plugins.ini
После того, как все подготовки закончены, я запускаю сервер и тут же в логах получаю ошибку. (p.s. как можно видеть, данная ошибка единственная )
Собственно вопрос, господа, на каком из этапов я допускаю ошибку и как вообще бороться с этой бедой?
Список модулей metamode
Список модулей amxx
Список плагинов amxx
os: windows 7 x64
версия движка:
версия метамода: v1.21p37
p.s. если при компиляции самой библиотеки использовать метамод
Решил попробовать собрать свой amxx модуль, но, едва начав, уже столкнулся с проблемой. Проблема заключается в том, что сервер не видит модуль, хотя , вроде бы, все подключено и сборка проходит без ошибок.
Ниже прилагаю фрагменты кода и скриншоты всего процесса.
Структура папки src
src/
├── build.bat
├── main.cpp
└── sdk/
├── amxxmodule.cpp
├── amxxmodule.h
└── moduleconfig.h
main.cpp - исходник самого модуля
C++:
#include "amxxmodule.h"
cell AMX_NATIVE_CALL get_value(AMX* amx, cell* params)
{
return 1337;
}
AMX_NATIVE_INFO exports[] = {
{"get_value", get_value},
{nullptr, nullptr}
};
void OnAmxxAttach()
{
MF_AddNatives(exports);
}
void OnAmxxDetach(){}
C++:
#define MODULE_NAME "first test"
#define MODULE_VERSION "n/a"
#define MODULE_AUTHOR "n/a"
#define MODULE_URL "n/a"
#define MODULE_LOGTAG "FIRST_TEST"
#define MODULE_LIBRARY "firsttest"
#define MODULE_LIBCLASS ""
#define FN_AMXX_ATTACH OnAmxxAttach
#define FN_AMXX_DETACH OnAmxxDetach
Bash:
set inc=-I"./sdk/"
g++ -c -fpic ./sdk/amxxmodule.cpp -o amxxmodule.o %inc%
g++ -c -fpic main.cpp -o main.o %inc%
g++ -shared -fpic -o firsttest_amxx.dll main.o amxxmodule.o
Полученную библиотеку помещаю в папку addons/amxmodx/modules
и подключаю ее в файле addons/amxmodx/configs/modules.ini (p.s. и с суффиксом _amxx, и без итог один и тот же)
Также, помимо подключения модуля, написал небольшой плагин для теста и заголовочный файл для него:
firsttest.sma
C++:
#include <amxmodx>
#include <firsttest>
public plugin_init()
{
register_clcmd("_get_value", "_get_value")
}
public _get_value(id)
{
new value = get_value();
console_print(id,"%d^n", value);
return PLUGIN_HANDLED
}
C++:
#if defined _firsttest_included
#endinput
#endif
#define _firsttest_included
#pragma reqlib firsttest
#if !defined AMXMODX_NOAUTOLOAD
#pragma loadlib firsttest
#endif
native get_value();
Далее я собираю плагин, перетащив исходник на файлик amxxpc.exe. Полученный выходной файл - firsttest.amxx, поместил в папку addons/amxmodx/plugins
а также подключил в файле addons/amxmodx/configs/plugins.ini
После того, как все подготовки закончены, я запускаю сервер и тут же в логах получаю ошибку. (p.s. как можно видеть, данная ошибка единственная )
Собственно вопрос, господа, на каком из этапов я допускаю ошибку и как вообще бороться с этой бедой?
Список модулей metamode
Список модулей amxx
Список плагинов amxx
os: windows 7 x64
версия движка:
Protocol version 48
Exe version 1.1.2.7 (cstrike)
Exe build: 15:17:10 Jul 24 2019 (8308)
версия метамода: v1.21p37
gcc: 13.2.0p.s. если при компиляции самой библиотеки использовать метамод
#define USE_METAMOD
, то проблема все еще остается.
В этой теме было размещено решение! Перейти к решению.
Download all Attachments
-
64.4 KB Просмотры: 46