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

Тема в разделе "Программирование / Скриптинг", создана пользователем rustam228, 18 авг 2014.

  1. rustam228

    rustam228

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

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

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Нужна машина с Linux, на ней через консоль в основном.. Обычно прихоидтся еще править конфиги немного для того, чтобы завести
    По теме:
    https://wiki.alliedmods.net/Metamod:Source_Environment
    Нужно будет еще добавить SM туда же, если расширение под SM
     
  3. rustam228

    rustam228

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

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    rustam228, нет, переписывать обычно ничего не нужно, но возможно придется править Makefile под вашу систему и ваши версии/расположения компиляторов и т.д., или доустанавливать требуемые исходники, необходимость которых отображается не всегда очевидно (пишет ошибку что нет файла какого-то, гуглится что за файл, устанавливается нужная версия библиотеки разработки)
     
    rustam228 нравится это.
  5. rustam228

    rustam228

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

    rustam228

    Сообщения:
    23
    Симпатии:
    0
    И так , сейчас пробую собрать библиотеку

    вот запрос
    PHP:
    rustam@rustam:/tmp/libsmbclientmake ENGINE=orangebox -/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 -/home/rustam/MakeFile
    Ответ
    PHP:
    make: /home/rustam/MakeFileНет такого файла или каталога
    make
    : *** Нет правила для сборки цели `/home/rustam/MakeFile'.  Останов.
    В чем проблема ??
     
    Последнее редактирование: 20 авг 2014
  7. rustam228

    rustam228

    Сообщения:
    23
    Симпатии:
    0
    Ошибку устранил появилась следующая
    Запрос
    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 -/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
     
  8. artyrka94

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    Оффтоп
     
  9. rustam228

    rustam228

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

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

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    Именно
     
  11. rustam228

    rustam228

    Сообщения:
    23
    Симпатии:
    0
    Ну это уже и не программирование , так легкий скриптинг ...
     
  12. rustam228

    rustam228

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

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.509
    Симпатии:
    1.962
    Оффтоп
     
  14. rustam228

    rustam228

    Сообщения:
    23
    Симпатии:
    0
    Я во всем разобрался , но появилась новая ошибка :
    PHP:
    /usr/include/c++/4.8/new:39:28fatal errorbits/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

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

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Попробуй в makefile поменять компилятор с gcc на g++
     
  16. rustam228

    rustam228

    Сообщения:
    23
    Симпатии:
    0
    Спасибо за ответ но я уже все решил :)

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

    Так что вопрос снят .