Компиляция мода(Linux)
#1

Здравствуйте, с наступающим всех.
Итак, ближе к делу.У меня возникла проблема при компиляции мода через терминал в OC Linux(Fedora), связанная с инклудами.
Я ввожу в терминале pawncc bare.pwn
И вот что я получаю:

PHP код:
Pawn compiler 4.0.4733                  Copyright (c1997-2012ITB CompuPhase
/opt/Pawn/bin/include/core.inc(30) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/core.inc(30) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/core.inc(31) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/core.inc(31) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/core.inc(32) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/core.inc(33) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/console.inc(13) : error 010invalid function or declaration
/opt/Pawn/bin/include/float.inc(17) : error 010invalid function or declaration
/opt/Pawn/bin/include/float.inc(60) : error 017undefined symbol "floatround_round"
/opt/Pawn/bin/include/float.inc(83) : error 017undefined symbol "radian"
/opt/Pawn/bin/include/float.inc(84) : error 017undefined symbol "radian"
/opt/Pawn/bin/include/float.inc(85) : error 017undefined symbol "radian"
/opt/Pawn/bin/include/file.inc(12) : error 010invalid function or declaration
/opt/Pawn/bin/include/file.inc(20) : error 010invalid function or declaration
/opt/Pawn/bin/include/file.inc(29) : error 017undefined symbol "io_readwrite"
/opt/Pawn/bin/include/file.inc(41) : error 017undefined symbol "seek_start"
/opt/Pawn/bin/include/datagram.inc(12) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/datagram.inc(13) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/a_objects.inc(67) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/a_objects.inc(68) : warning 229mixing packed and unpacked array indexing or array assignment
/opt/Pawn/bin/include/a_samp.inc(54) : error 021symbol already defined"print"
/opt/Pawn/bin/include/a_samp.inc(54) : error 025: function heading differs from prototype
/opt/Pawn/bin/include/a_samp.inc(55) : error 021symbol already defined"printf"
13 Errors
Надеюсь на вашу помощь.
Reply
#2

Варианта два. Первый, это правильно дать компилятору путь до основных инклюдов. Второй это изменить в компилируемом скрипте способ доступа до инклюдов, разместив их там же где находится компилируемый скрипт, и озаглавить путь до оных кавычками(было #include <a_samp> стало #include "a_samp.inc", или, если переместить папку, то #include "include/a_samp.inc")
Reply
#3

Не думаю, что вы сможете запустить мод, скомпилированный под версией 4.0.4733.
Сервер поддерживает же только 3.2.3664...
Но по теме, новая версия компилятора поменяла некоторые свои свойства и может не принимать инклуды со старых версий...Так что лучшим вариантом будет вручную собрать старый компилятор...
Reply
#4

Я думаю лучшим вариантом будет запускать компилятор из поставки из под wine
Reply
#5

Quote:

Pawn compiler 4.0.4733 Copyright © 1997-2012, ITB CompuPhase

О боже?! Что вы делаете?!

нет, ну как будто никто не додумался попробовать вот так сделать.


Quote:

Я думаю лучшим вариантом будет запускать компилятор из поставки из под wine

Почему же? Можно собрать на 5ом дебиане старую версию компилятора, и перенести бинарники в более новый линух
Reply
#6

суть в том, что компилятор и амх машина были переделаны. лучше уж из-под wine.
Reply
#7

На самом деле всё решается правкой инклюдов.
Reply
#8

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
На самом деле всё решается правкой инклюдов.
Это не совсем удобно.
Прекрасно подойдёт подобный скрипт (каталоги можно поменять на свои):
PHP код:
#/bin/bash
export LD_LIBRARY_PATH=$(pwd)"/compiler/:$LD_LIBRARY_PATH"
NAME="Open-GTO"
./compiler/pawncc "-;+" "-(+" "-icompiler/includes" sources/$NAME.pwn
if [ $(stat -c%"$NAME.amx") -gt 0 ];
then
    mv $NAME
.amx gamemodes/
else
    
rm $NAME.amx
fi 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)