jenya7 0 January 31, 2022 Posted January 31, 2022 · Report post 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. а объектный файл компилятор не видит. Quote Share this post Link to post Share on other sites More sharing options...
VladimirG 0 January 31, 2022 Posted January 31, 2022 (edited) · Report post 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 Edited January 31, 2022 by VladimirG дополнил Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 31, 2022 Posted January 31, 2022 (edited) · Report post 4 minutes ago, VladimirG said: После этой команды, должен появиться aux.so, а не amx.so а у меня почему то сгенерировался aux.o. Edited January 31, 2022 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
VladimirG 0 January 31, 2022 Posted January 31, 2022 · Report post 5 minutes ago, jenya7 said: а у меня почему то сгенерировался aux.o. Никаких ошибок при выполнении команд небыло? У меня gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1+deb9u1) Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 31, 2022 Posted January 31, 2022 (edited) · Report post 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 теперь вроде как всё компилируется без ошибок. Edited February 1, 2022 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
VladimirG 0 February 1, 2022 Posted February 1, 2022 · Report post 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 А так? Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 February 1, 2022 Posted February 1, 2022 · Report post 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 теперь все библиотеки сгенерированны. спасибо. приятно иметь дело с профессионалом. :) Quote Share this post Link to post Share on other sites More sharing options...
xvr 12 February 15, 2022 Posted February 15, 2022 · Report post 2 TC - а почему не использовать интерпретатор JS, который из коробки идёт с Qt? Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 February 17, 2022 Posted February 17, 2022 (edited) · Report post On 2/15/2022 at 3:15 PM, xvr said: 2 TC - а почему не использовать интерпретатор JS, который из коробки идёт с Qt? я не знал. у Qt есть интерпретатор джава скриптов? но мне нужна возможность использовать свои внешние функции в скрипте. Edited February 17, 2022 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
gridinp 10 February 17, 2022 Posted February 17, 2022 (edited) · Report post 3 часа назад, jenya7 сказал: я не знал. у Qt есть интерпретатор джава скриптов? но мне нужна возможность использовать свои внешние функции в скрипте. В Qt4 есть и можно расширять на C++, но в Qt5 уже вырезали. Модуль называется QtScript Edited February 17, 2022 by gridinp Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 February 17, 2022 Posted February 17, 2022 · Report post 34 minutes ago, gridinp said: В Qt4 есть и можно расширять на C++, но в Qt5 уже вырезали. Модуль называется QtScript досада. у меня как раз Qt 5. там есть фичеры которые мне нужны. Quote Share this post Link to post Share on other sites More sharing options...
gridinp 10 February 17, 2022 Posted February 17, 2022 · Report post 6 часов назад, jenya7 сказал: досада. у меня как раз Qt 5. там есть фичеры которые мне нужны. я наверное ошибся, вроде как он в Qt5 есть для совместимости Qt Script, вот в Qt6 уже точно нет Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 February 18, 2022 Posted February 18, 2022 · Report post 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; })"); интересно если я могу вызвать свою внешнюю функцию из скрипта. Quote Share this post Link to post Share on other sites More sharing options...