Перейти к содержанию
    

Портировать Pawn на малинку

43 minutes ago, VladimirG said:

Видимо у авторов была на то причина. В любом случае, библиотека собирается на раз.

я сделал

Quote

gcc amx.c amxcore.c amxcons.c amxaux.c ../linux/getch.c -ldl -I../linux -c -fPIC
gcc -shared -o aux.so  *.o -ldl

но у меня создался amx.o а не amx.so. а объектный файл компилятор не видит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 minutes ago, jenya7 said:

gcc -shared -o aux.so *.o -ldl

После этой команды, должен появиться aux.so, а не amx.so.

Навзвание впрочем не имеет значение, но если хочется подключать через lamx то.

1. изменить -o aux.so  на -o libamx.so (или просто перименовать получившийся файл)

2.  указать полный путь к сему файлу в  /etc/ld.so.conf.d/amx.conf и сделать sudo ldconfig

Изменено пользователем VladimirG
дополнил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, VladimirG said:

После этой команды, должен появиться aux.so, а не amx.so

а у меня почему то сгенерировался aux.o.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, jenya7 said:

а у меня почему то сгенерировался aux.o.

Никаких ошибок при выполнении команд небыло?

У меня gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1+deb9u1)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 hours ago, VladimirG said:

Никаких ошибок при выполнении команд небыло?

У меня gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1+deb9u1)

 

попробую ещё раз.

 

нет. ошибок не и so не гененрируется.

 

вот что ответили в поддержке

Quote

The CMake makefile creates the pawnrun program. This program statically
links with amx.o and amxcore.o (plus a few others). But the makefile
does not create shared libraries for amx and amxaux.

If you want that, you have to adapt the makefiles.

а как переделать makefiles?

 

вобщем победил я как то это чудо включив в проект следующее

LIBS += -ldl

INCLUDEPATH += /home/pi/pawn/amx
INCLUDEPATH += /home/pi/pawn/linux

SOURCES += /home/pi/pawn/amx/amx.c
SOURCES += /home/pi/pawn/amx/amxcore.c
SOURCES += /home/pi/pawn/amx/amxcons.c
SOURCES += /home/pi/pawn/amx/amxaux.c
SOURCES += /home/pi/pawn/linux/getch.c
SOURCES += /home/pi/pawn/amx/amxexec_gcc.c

теперь вроде как всё компилируется без ошибок.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

gcc amx.c amxcore.c amxcons.c amxaux.c ../linux/getch.c -ldl -I../linux -c -fPIC
gcc -shared -o amx.so  amx.o amxcore.o amxcons.o amxaux.o getch.o -ldl

А так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, VladimirG said:

gcc amx.c amxcore.c amxcons.c amxaux.c ../linux/getch.c -ldl -I../linux -c -fPIC
gcc -shared -o amx.so  amx.o amxcore.o amxcons.o amxaux.o getch.o -ldl

А так?

да! так сгенерировался amx.so

я ещё добавил

gcc -shared -o amxaux.so  amx.o amxcore.o amxcons.o amxaux.o getch.o -ldl

теперь все библиотеки сгенерированны.

 

спасибо. приятно иметь дело с профессионалом.  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 TC - а почему не использовать интерпретатор JS, который из коробки идёт с Qt?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/15/2022 at 3:15 PM, xvr said:

2 TC - а почему не использовать интерпретатор JS, который из коробки идёт с Qt?

 

я не знал. у Qt есть интерпретатор джава скриптов? но мне нужна возможность использовать свои внешние функции в скрипте.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, jenya7 сказал:

я не знал. у Qt есть интерпретатор джава скриптов? но мне нужна возможность использовать свои внешние функции в скрипте.

В Qt4 есть и можно расширять на C++, но в Qt5 уже вырезали. Модуль называется QtScript

Изменено пользователем gridinp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 minutes ago, gridinp said:

В Qt4 есть и можно расширять на C++, но в Qt5 уже вырезали. Модуль называется QtScript

 

досада. у меня как раз Qt 5. там есть фичеры которые мне нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, jenya7 сказал:

досада. у меня как раз Qt 5. там есть фичеры которые мне нужны.

я наверное ошибся, вроде как он в Qt5 есть для совместимости Qt Script, вот в Qt6 уже точно нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/17/2022 at 6:40 PM, gridinp said:

я наверное ошибся, вроде как он в Qt5 есть для совместимости Qt Script, вот в Qt6 уже точно нет

предлагают пользоваться QJSEngine вместо Qt Script.

посмотрел пример

QJSValue fun = myEngine.evaluate("(function(a, b) { return a + b; })");

интересно если я могу вызвать свою внешнюю функцию из скрипта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...