SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 25/05/2010, 04:09 PM   #21
Romanius
Huge Clucker
 
Romanius's Avatar
 
Join Date: Jun 2009
Location: Bishkek, Kyrgyzstan
Posts: 420
Reputation: 26
Default Компиляция плагина под LINUX

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

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

а туториал как компилить файлы напишу позже
__________________
Ешь ананасы, рябчиков жуй, день твой последний приходит, буржуй!
Romanius is offline   Reply With Quote
Old 26/05/2010, 07:07 AM   #22
Romanius
Huge Clucker
 
Romanius's Avatar
 
Join Date: Jun 2009
Location: Bishkek, Kyrgyzstan
Posts: 420
Reputation: 26
Default Компиляция плагина под LINUX

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

Если что-то непонятно то спрашивай
__________________
Ешь ананасы, рябчиков жуй, день твой последний приходит, буржуй!
Romanius is offline   Reply With Quote
Old 26/05/2010, 01:18 PM   #23
Fro1sha
Big Clucker
 
Fro1sha's Avatar
 
Join Date: Nov 2009
Posts: 168
Reputation: 29
Default Компиляция плагина под LINUX

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 надо?
__________________
[Plugin] MultiThread
[Plugin] GMT Timezone
[Plugin] Regular expression

Development any plugins, for the money.
Разработка любых плагинов за деньги.
Fro1sha is offline   Reply With Quote
Old 26/05/2010, 04:18 PM   #24
Romanius
Huge Clucker
 
Romanius's Avatar
 
Join Date: Jun 2009
Location: Bishkek, Kyrgyzstan
Posts: 420
Reputation: 26
Default Re: Компиляция плагина под LINUX

скомпелированный на х64 железе вряд ли будет работать на самп сервере тк самп сервер идет как х86 а мейкфаил будет такой де
__________________
Ешь ананасы, рябчиков жуй, день твой последний приходит, буржуй!
Romanius is offline   Reply With Quote
Old 26/05/2010, 05:41 PM   #25
MX_Master
Huge Clucker
 
Join Date: Jul 2007
Posts: 390
Reputation: 5
Default Re: Компиляция плагина под LINUX

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

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

-- ДОБАВЛЕНО ПОЗДНЕЕ --
объединил с аналогичной темой, мой пост был на 1 странице
MX_Master is offline   Reply With Quote
Old 28/05/2010, 11:45 AM   #26
Fro1sha
Big Clucker
 
Fro1sha's Avatar
 
Join Date: Nov 2009
Posts: 168
Reputation: 29
Default Re: Компиляция плагина под LINUX

что не так то



Линкс это жесть, не могу поставть дрова на сетевуху и звук...
__________________
[Plugin] MultiThread
[Plugin] GMT Timezone
[Plugin] Regular expression

Development any plugins, for the money.
Разработка любых плагинов за деньги.
Fro1sha is offline   Reply With Quote
Old 28/05/2010, 12:13 PM   #27
Zeex
Guest
 
Posts: n/a
Default Re: Компиляция плагина под LINUX

Code:
cd /home/fro/Desktop/linux/Anticheat
make

или

Code:
cd /home/fro/Desktop/linux/Anticheat && make

Quote:
Originally Posted by Fro1sha
Линкс это жесть, не могу поставть дрова на сетевуху и звук...
Бывает))
  Reply With Quote
Old 29/05/2010, 10:33 AM   #28
Fro1sha
Big Clucker
 
Fro1sha's Avatar
 
Join Date: Nov 2009
Posts: 168
Reputation: 29
Default Re: Компиляция плагина под LINUX

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

Development any plugins, for the money.
Разработка любых плагинов за деньги.
Fro1sha is offline   Reply With Quote
Old 15/03/2013, 01:38 AM   #29
Slava[LSW]
Big Clucker
 
Join Date: Aug 2010
Location: Russia, Vladivostok
Posts: 99
Reputation: 4
Default Re: Компиляция плагина под LINUX

Не подскажите, как подключить статическую библиотеку (.lib)? Для компилирования в Linux естественно.
Slava[LSW] is offline   Reply With Quote
Old 16/03/2013, 07:53 AM   #30
jhonyxakep
Gangsta
 
jhonyxakep's Avatar
 
Join Date: May 2011
Location: Russia, Moscow
Posts: 789
Reputation: 43
Default Re: Компиляция плагина под LINUX

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

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
SA-MP для Anderius, Criminal Russia, United и Gostown6 dimonml Русский/Russian 1002 07/07/2017 06:56 PM
Коллекция функций / макросов MX_Master Русский/Russian 658 13/02/2017 03:58 PM
Идеи и предложения по русскому разделу pumpboy Русский/Russian 33 04/09/2011 10:08 AM
Помогите встроить код для запуска NPC из мод&# xrenault Русский/Russian 8 19/06/2010 06:31 PM
Долго компилируются моды ^Woozie^ Русский/Russian 15 18/03/2010 12:41 PM


All times are GMT. The time now is 08:45 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.