Вопрос с компиляцией -
Salik - 19.04.2020
Здравствуйте! Как решить проблему с компиляцией мода, в моде некоторые функции (stock) разбросаны, многое объявлено в самом низу мода (знаю это плохо), но суть в том что я вроде как нашёл как поставить совместимость и запустить мод в таком варианте, просто переписать всё уйдет уйму времени - поставил параметр - "-Z+", даже добавил прагму в моде - #pragma compat 1, но ничего, опять же эрроры с сообщениями типа такого -
C:\Users\User\Desktop\2 ïàðòèÿ\/include/mod_news.inc(4329) : error 017: undefined symbol "PM"
C:\Users\User\Desktop\2 ïàðòèÿ\/include/mod_news.inc(4676) : error 017: undefined symbol "TogglePlayerControllableEx"
C:\Users\User\Desktop\2 ïàðòèÿ\MOD.pwn(1256) : error 017: undefined symbol "TogglePlayerControllableEx"
C:\Users\User\Desktop\2 ïàðòèÿ\MOD.pwn(125
: error 017: undefined symbol "SendAdminLogMessage"
--------------------------------------
Примерно вот так у меня в моде некоторые функции используются до их объявления (прим.) -
pawn Code:
function PlayerConnect(playerid) {
checkBan(playerid);
}
stock checkBan(playerid) {
code...
}
Знаю так кодить плохо, и компилятор выдаёт ошибку, но как разрешить такое через параметры или как можно вообще сделать такое?
Re: Вопрос с компиляцией -
DrSlett - 20.04.2020
Quote:
Originally Posted by Salik
Здравствуйте! Как решить проблему с компиляцией мода, в моде некоторые функции (stock) разбросаны, многое объявлено в самом низу мода (знаю это плохо), но суть в том что я вроде как нашёл как поставить совместимость и запустить мод в таком варианте, просто переписать всё уйдет уйму времени - поставил параметр - "-Z+", даже добавил прагму в моде - #pragma compat 1, но ничего, опять же эрроры с сообщениями типа такого -
C:\Users\User\Desktop\2 ïàðòèÿ\/include/mod_news.inc(4329) : error 017: undefined symbol "PM"
C:\Users\User\Desktop\2 ïàðòèÿ\/include/mod_news.inc(4676) : error 017: undefined symbol "TogglePlayerControllableEx"
C:\Users\User\Desktop\2 ïàðòèÿ\MOD.pwn(1256) : error 017: undefined symbol "TogglePlayerControllableEx"
C:\Users\User\Desktop\2 ïàðòèÿ\MOD.pwn(125 : error 017: undefined symbol "SendAdminLogMessage"
--------------------------------------
Примерно вот так у меня в моде некоторые функции используются до их объявления (прим.) -
pawn Code:
function PlayerConnect(playerid) { checkBan(playerid); }
stock checkBan(playerid) { code... }
Знаю так кодить плохо, и компилятор выдаёт ошибку, но как разрешить такое через параметры или как можно вообще сделать такое?
|
читайте описание ошибок
в коде отсутствуют функции "TogglePlayerControllableEx", "SendAdminLogMessage" итд (см. на ошибки)
простейший пример решения проблемы - нужно добавить в код (там уже под себя можно дописать, какие еще определения нужны в функции - для античита, к примеру):
pawn Code:
stock TogglePlayerControllableEx(playerid, toggle) {
// здесь что-то дополнительное
TogglePlayerControllable(playerid, toggle);
}
Re: Вопрос с компиляцией -
Salik - 20.04.2020
Вы даже не догнали что я вам пишу, в новом pawn от zeex'a был фикс на это, но он не работает, перечитайте первое сообщение.
Re: Вопрос с компиляцией -
DrSlett - 21.04.2020
Quote:
Originally Posted by Salik
Вы даже не догнали что я вам пишу, в новом pawn от zeex'a был фикс на это, но он не работает, перечитайте первое сообщение.
|
буду признателен, если укажете на фразу "pawn от zeex'a" в первом сообщении
а по вопросу - попробуйте избавиться от плюса в параметре
HTML Code:
You can enable compatibility mode by passing -Z to pawncc at the command line or by adding #pragma compat 1 to your script.
https://github.com/pawn-lang/compile...atibility-mode
Re: Вопрос с компиляцией -
Salik - 06.05.2020
Перепробовал, ставил так же прагму compact 1, опции -Z | -Z+, что только не делал, без результатно