SA-MP Forums Archive
Компиляция плагина под LINUX - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Компиляция плагина под LINUX (/showthread.php?tid=131419)

Pages: 1 2


Компиляция плагина под LINUX - Romanius - 25.05.2010

Quote:

Как через Visual studio можно откомпилировать плагин в линукс?

Никак! тебе надо ставить виртуальную машину. Есть такие Sun Virtual Box (бесплатный и хорошо робит) VMWare Workstation (платная зараза но тоже хороша) и Microsoft Virtual PC (бесплатный но ставить не советую потомучто откомпелированный фаил хрен вытащиш)

У меня стоит Sun Virtual Box а на нем FreeBSD но тебе советую поставть Ubuntu Linux

а туториал как компилить файлы напишу позже


Компиляция плагина под LINUX - Romanius - 26.05.2010

в линуксах есть утилита MAKE которая и так сказать "КОМПИЛИТ"

Как ею пользоваться:

Зайди в Терминал(консоль)
введи cd и дирректорию где находятся исходный коды плагина
если директория выбралась то просто пиши make и жди а если нет то както через KDE можно но я хз

А теперь о Makefile

в этом фаиле указываются какие файлы надо компилить и как их компилить

Вот пример моего Makefile (переделанный)

Code:
GPP=g++
GCC=gcc
OUTFILE="plugin.so"

COMPILE_FLAGS=-c -O3 -w -DLINUX -I./SDK/amx/

all:
	$(GCC) $(COMPILE_FLAGS) ./SDK/amx/*.c
	$(GPP) $(COMPILE_FLAGS) ./SDK/*.cpp
	$(GPP) $(COMPILE_FLAGS) *.cpp
	$(GPP) -O2 -fshort-wchar -shared -o $(OUTFILE) *.o
Теперь объясню

GPP=g++ - Компилятор G++ (компилирует исходные коды С++)

GCC=gcc - Компилятор GCC (компилирует исходные коды С)

OUTFILE="plugin.so" - имя выходного плагина (расширение обязательно)

COMPILE_FLAGS=-c -O3 -w -DLINUX -I./SDK/amx/ - опции компилирования исходный кодов (параметр -I.SDK/amx/ указывает где находится ваш SDK)

$(GCC) $(COMPILE_FLAGS) ./SDK/amx/*.c
$(GPP) $(COMPILE_FLAGS) ./SDK/*.cpp
$(GPP) $(COMPILE_FLAGS) *.cpp

А это все уже идет компиляция кода в файлы ресурсов для дальнейшей обработки (как раз таки сдесь и подключают свои фаилы cpp)

$(GPP) -O2 -fshort-wchar -shared -o $(OUTFILE) *.o - А эта строка уже компелирует все ресурсы в плагин

Если что-то непонятно то спрашивай


Компиляция плагина под LINUX - Fro1sha - 26.05.2010

Quote:
Originally Posted by Romanius
в линуксах есть утилита MAKE которая и так сказать "КОМПИЛИТ"

Как ею пользоваться:

Зайди в Терминал(консоль)
введи cd и дирректорию где находятся исходный коды плагина
если директория выбралась то просто пиши make и жди а если нет то както через KDE можно но я хз

А теперь о Makefile

в этом фаиле указываются какие файлы надо компилить и как их компилить

Вот пример моего Makefile (переделанный)

Code:
GPP=g++
GCC=gcc
OUTFILE="plugin.so"

COMPILE_FLAGS=-c -O3 -w -DLINUX -I./SDK/amx/

all:
	$(GCC) $(COMPILE_FLAGS) ./SDK/amx/*.c
	$(GPP) $(COMPILE_FLAGS) ./SDK/*.cpp
	$(GPP) $(COMPILE_FLAGS) *.cpp
	$(GPP) -O2 -fshort-wchar -shared -o $(OUTFILE) *.o
Теперь объясню

GPP=g++ - Компилятор G++ (компилирует исходные коды С++)

GCC=gcc - Компилятор GCC (компилирует исходные коды С)

OUTFILE="plugin.so" - имя выходного плагина (расширение обязательно)

COMPILE_FLAGS=-c -O3 -w -DLINUX -I./SDK/amx/ - опции компилирования исходный кодов (параметр -I.SDK/amx/ указывает где находится ваш SDK)

$(GCC) $(COMPILE_FLAGS) ./SDK/amx/*.c
$(GPP) $(COMPILE_FLAGS) ./SDK/*.cpp
$(GPP) $(COMPILE_FLAGS) *.cpp

А это все уже идет компиляция кода в файлы ресурсов для дальнейшей обработки (как раз таки сдесь и подключают свои фаилы cpp)

$(GPP) -O2 -fshort-wchar -shared -o $(OUTFILE) *.o - А эта строка уже компелирует все ресурсы в плагин

Если что-то непонятно то спрашивай
Спасиб большое. А вот если линукс х64 убунту, то что-то добавлять или изменять в Makefile надо?


Re: Компиляция плагина под LINUX - Romanius - 26.05.2010

скомпелированный на х64 железе вряд ли будет работать на самп сервере тк самп сервер идет как х86 а мейкфаил будет такой де


Re: Компиляция плагина под LINUX - MX_Master - 26.05.2010

всё будет в шоколаде, если указать нужные настройки компилятора, даже на 64 битной мафинке. Я помню уже давал давно еще мэйк файл свой, где я просто компилил тестовый плагин и ничо, я ж компилил на 64 битном CentOS. По началу мне канеш кричало ошибку при запуске серва с таким плагином. А потом стало ясно, что просто нужно добавить пару параметров.

ща поищу свой давний пост..

-- ДОБАВЛЕНО ПОЗДНЕЕ --
объединил с аналогичной темой, мой пост был на 1 странице


Re: Компиляция плагина под LINUX - Fro1sha - 28.05.2010

что не так то



Линкс это жесть, не могу поставть дрова на сетевуху и звук...


Re: Компиляция плагина под LINUX - Zeex - 28.05.2010

pawn Code:
cd /home/fro/Desktop/linux/Anticheat
make
или

pawn Code:
cd /home/fro/Desktop/linux/Anticheat && make
Quote:
Originally Posted by Fro1sha
Линкс это жесть, не могу поставть дрова на сетевуху и звук...
Бывает))


Re: Компиляция плагина под LINUX - Fro1sha - 29.05.2010

ААа ураа!!! наконец разобрался! Надо было то
Code:
cd Рабочий\ стол/papka
make
Правда надо было еще установить пакет g++


Re: Компиляция плагина под LINUX - Slava[LSW] - 15.03.2013

Не подскажите, как подключить статическую библиотеку (.lib)? Для компилирования в Linux естественно.


Re: Компиляция плагина под LINUX - jhonyxakep - 16.03.2013

В linux не используются lib ы и а шки. Для этого вам нужно иметь собраный экземлпяр в виде so , а потом прописать в makefile -l билиотека


Re: Компиляция плагина под LINUX - MIASO - 17.02.2017

файл makefile предназначен для автоматизации, в терминале переходишь в папку где он лежит и выполняешь команду make
а так самый простой способ собрать программу
g++ main.cpp test.cpp wtf.cpp -o test
Кстати, для компиляции я пользовался дебианом - мало весит и не требует установки.


Re: Компиляция плагина под LINUX - stabker - 17.02.2017

Quote:
Originally Posted by Diman777
View Post
... На сколько я понял в Убунту нужно как-то закинуть исходники плагина, но как это сделать то?
Чтобы закинуть что-то в виртуалку, надо сделать общую папку между основной ОС и виртуальной. Просто вбей это в поиск, уроков много есть.


Re: Компиляция плагина под LINUX - DartfoL - 17.02.2017

Quote:
Originally Posted by Diman777
View Post
Подскажите как под Линукс плагин скомпилить.
загугли плагин ProNickV2, глянь как там составлены исходники и makefile, отличный пример


Re: Компиляция плагина под LINUX - Diman777 - 20.02.2017

Вообщем скомпилировать получилось на ubuntu-16.04.1-desktop-i386 в VirtualBox.
Вот Makefile, который сработал у меня:
pawn Code:
GPP=g++
GCC=gcc
OUTFILE= "test_plugin.so"

COMPILE_FLAGS=-c -O3 -w -DLINUX -I./SDK/amx/

all:
    $(GCC) $(COMPILE_FLAGS) ./SDK/amx/*.c
    $(GPP) $(COMPILE_FLAGS) ./SDK/*.cpp
    $(GPP) $(COMPILE_FLAGS) *.cpp
    $(GPP) -O2 -fshort-wchar -shared -o $(OUTFILE) *.o
Как это делается в Ubuntu:
1. Открыть терминал (она же консоль);
2. Входим в режим суперпользователя: sudo su, вводим пароль если потребует, жмём Enter;
3. Переходим в директорию где лежат исходники плагина: cd /home/dm/имя_плагина (он может лежать наверно и в другом месте, найдёте путь);
4. Набираем команду make;
5. Скомпилированный плагин должен лежать в папке с исходниками.

Полезные ссылки:
Скачать Ubuntu с офиц. сайта - http://ubuntu.ru/get
Установка Ubuntu - https://www.youtube.com/watch?v=bHGeH0JmE48&

Спс за советы.