Компиляция проекта под linux

rustam228

Участник
Сообщения
23
Реакции
2
Здравствуйте .
Есть проект c++ на dll есть source от него есть MakeFile . Для win сервера нужен .ext.dll для lin сервера .ext.so .
Для win сервера расширение компилируется нормально (Через VS 2010) Но для Linux я понятия не имею как компилировать и что для этого нужно .

Кто с этим работал помогите идеей . :sad:
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Нужна машина с Linux, на ней через консоль в основном.. Обычно прихоидтся еще править конфиги немного для того, чтобы завести
По теме:
https://wiki.alliedmods.net/Metamod:Source_Environment
Нужно будет еще добавить SM туда же, если расширение под SM
 

rustam228

Участник
Сообщения
23
Реакции
2
Скачал установил запустил Virtual Box Ubuntu , я в основном почитал на форумах компиляция происходит через make -f MakeFile (В этом файле вся информация какие библиотеки использовать ...).
Я так понимаю особенного ничего нету .c .cpp переписывать не нужно под Linux ?
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
rustam228, нет, переписывать обычно ничего не нужно, но возможно придется править Makefile под вашу систему и ваши версии/расположения компиляторов и т.д., или доустанавливать требуемые исходники, необходимость которых отображается не всегда очевидно (пишет ошибку что нет файла какого-то, гуглится что за файл, устанавливается нужная версия библиотеки разработки)
 

rustam228

Участник
Сообщения
23
Реакции
2
rustam228, нет, переписывать обычно ничего не нужно, но возможно придется править Makefile под вашу систему и ваши версии/расположения компиляторов и т.д., или доустанавливать требуемые исходники, необходимость которых отображается не всегда очевидно (пишет ошибку что нет файла какого-то, гуглится что за файл, устанавливается нужная версия библиотеки разработки)

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

rustam228

Участник
Сообщения
23
Реакции
2
И так , сейчас пробую собрать библиотеку

вот запрос
PHP:
rustam@rustam:/tmp/libsmbclient$ make ENGINE=orangebox -f /tmp/test/MakeFile
вот ответ
PHP:
if [ "" = "true" ] && [ "true" = "false" ]; then \
		echo "You must supply ENGINE=left4dead or ENGINE=orangebox or ENGINE=original"; \
		exit 1; \
	fi
mkdir -p Release/sdk
if [ "" = "true" ]; then \
		ln -sf ~/srcds/orangebox/bin/vstdlib_i486.so vstdlib_i486.so; \
		ln -sf ~/srcds/orangebox/bin/tier0_i486.so tier0_i486.so; \
	fi
make -f Makefile extension
make[1]: Вход в каталог `/tmp/libsmbclient'
make[1]: Makefile: Нет такого файла или каталога
make[1]: *** Нет правила для сборки цели `Makefile'.  Останов.
make[1]: Выход из каталога `/tmp/libsmbclient'
make: *** [all] Ошибка 2

Естественно первым делом обращаем внимание на
PHP:
make[1]: Вход в каталог `/tmp/libsmbclient'
В MakeFile Нигде нет упоминания о таком каталоге .

В чем может быть проблема ?
Если вам нужен MakeFile я прикреплю позже .

Добавлено через 1 час 56 минут
Подскажет кто-нибудь как makefile делать для компиляции расширения ?

Добавлено через 5 часов 0 минут
Так все получилось , но теперь вот такая проблема

Запрос
PHP:
rustam@rustam:~$ make -f /home/rustam/MakeFile
Ответ
PHP:
make: /home/rustam/MakeFile: Нет такого файла или каталога
make: *** Нет правила для сборки цели `/home/rustam/MakeFile'.  Останов.

В чем проблема ??
 
Последнее редактирование:

rustam228

Участник
Сообщения
23
Реакции
2
Ошибку устранил появилась следующая
Запрос
PHP:
rustam@rustam:~$ sudo make -f connect_log/Makefile
Ответ
PHP:
mkdir -p Release/sdk
cp /home/rustam/project/hl2sdk-ob/lib/linux/libvstdlib.so libvstdlib.so; \
	cp /home/rustam/project/hl2sdk-ob/lib/linux/libtier0.so libtier0.so; \
	make -f /home/rustam/connect_log/Makefile extension
make[1]: Вход в каталог `/home/rustam'
make[1]: *** Нет правила для сборки цели `Release/sdk/smsdk_ext.o', требуемой для `extension'.  Останов.
make[1]: Выход из каталога `/home/rustam'
make: *** [all] Ошибка 2
 

rustam228

Участник
Сообщения
23
Реакции
2
Оффтоп

Проектом называется либо .dll либо .so расширение (Как я знаю) . Это не сайт не связка игровых серверов . Мне нужно собранное решение .so исходники все есть (Повторюсь еще раз)

Люди ну что же это никто не умеет кодить на c++ ? Что же за форум то такое, по программированию на pawne получается ?
 

rustam228

Участник
Сообщения
23
Реакции
2
Оффтоп

Ну если ты хочешь выяснить у кого больше то давай в лс я скину примеры plugins , а если ты хочешь помочь то дерзай , я весь во внимании .
 

rustam228

Участник
Сообщения
23
Реакции
2
Я во всем разобрался , но появилась новая ошибка :
PHP:
/usr/include/c++/4.8/new:39:28: fatal error: bits/c++config.h: Нет такого файла или каталога
 #include <bits/c++config.h>
                            ^
compilation terminated.
make[1]: *** [Release.css/sdk/smsdk_ext.o] Ошибка 1
make[1]: Выход из каталога `/home/rustam'
make: *** [all] Ошибка 2

Как так ? Как ее можно исправить ?
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Я во всем разобрался , но появилась новая ошибка :
PHP:
/usr/include/c++/4.8/new:39:28: fatal error: bits/c++config.h: Нет такого файла или каталога
 #include <bits/c++config.h>
                            ^
compilation terminated.
make[1]: *** [Release.css/sdk/smsdk_ext.o] Ошибка 1
make[1]: Выход из каталога `/home/rustam'
make: *** [all] Ошибка 2

Как так ? Как ее можно исправить ?

Попробуй в makefile поменять компилятор с gcc на g++
 

rustam228

Участник
Сообщения
23
Реакции
2
Попробуй в makefile поменять компилятор с gcc на g++
Спасибо за ответ но я уже все решил :)

Все банально просто , что на vs 2010 че на g++ .
Ужас как я сразу не додумался не знаю . :blush2:

Так что вопрос снят .
 
Сверху Снизу