Компиляция плагина под LINUX
#21

Quote:

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

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

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

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

в линуксах есть утилита 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 - А эта строка уже компелирует все ресурсы в плагин

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

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 надо?
Reply
#24

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

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

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

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

что не так то



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

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

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

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

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

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

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

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

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

Вообщем скомпилировать получилось на 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&

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


Forum Jump:


Users browsing this thread: 3 Guest(s)