Компиляция плагина под 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
... На сколько я понял в Убунту нужно как-то закинуть исходники плагина, но как это сделать то?
|
Чтобы закинуть что-то в виртуалку, надо сделать общую папку между основной ОС и виртуальной. Просто вбей это в поиск, уроков много есть.
Re: Компиляция плагина под LINUX -
DartfoL - 17.02.2017
Quote:
Originally Posted by Diman777
Подскажите как под Линукс плагин скомпилить.
|
загугли плагин 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&
Спс за советы.