QUIK 8.0

Страницы: 1 2 3 4 След.
RSS
QUIK 8.0
 
Добрый день!

После обновления на версию 8.0 все индикаторы и скрипты, сделанные на Lua перестали работать, по скриптам пишет ошибку "bad header in precompiled chunk".

никаких dll или сторонних библиотек не используется в скриптах. Скрипты скомпилированы через стандартную команду:

luac -s -o "$(FileName).luac" "$(FileNameExt)"

Что надо сделать для работы?
 
Добрый день.
Для корректной работы с *.luac файлами в терминале 8.0 необходимо исходные *.lua файлы скомпилировать x64 версией Luac.exe
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
Добрый день.
Для корректной работы с *.luac файлами в терминале 8.0 необходимо исходные *.lua файлы скомпилировать x64 версией Luac.exe
Т.е. для всех версий вплоть до 7.27 мне надо компилировать по старому. а для 8.0 отдельно компилировать x64 luac.exe

Очень удобно сделали и заранее предупредили главное всех о таком событии.

Скачал с сайта только что, в файле "Использование Lua на рабочем месте", ни слова нету про компиляцию.
 
К сожалению, повторной компиляции скриптов под x64 не избежать, это последствия смены архитектуры терминала, т.к. в нем используется уже x64 интерпретатор Lua.
В документацию обязательно добавим информацию.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
К сожалению, повторной компиляции скриптов под x64 не избежать, это последствия смены архитектуры терминала, т.к. в нем используется уже x64 интерпретатор Lua.
В документацию обязательно добавим информацию.
Конкретно вот этот компилятор годится для вашей новой архитектуры?:

https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/lua-5.1.5_Win64_bin.zip...

Насколько я понял удобный пакет LuaForWindows не имеет в составе x64 компилятора (если имеет, то не могли бы дать ссылку).
 
Цитата
Александр М написал:
Конкретно вот этот компилятор годится для вашей новой архитектуры?: https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/lua-5.1.5_Win64_bin.zip....
Да, этот компилятор можно использовать (я использовал именно его). Что касается LuaForWindows, я не видел x64 сборку данного пакета, по данному вопросу могу посоветовать только обратиться к его разработчикам.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
Цитата
Александр М написал:
Конкретно вот этот компилятор годится для вашей новой архитектуры?:  https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/lua-5.1.5_Win64_bin.zip... .
Да, этот компилятор можно использовать (я использовал именно его). Что касается LuaForWindows, я не видел x64 сборку данного пакета, по данному вопросу могу посоветовать только обратиться к его разработчикам.
Спасибо за ответ, будем разбираться.
 
Здравствуйте.

А если мне нужно использовать собственную dll как сделать x64 ?

В Visual Studio Платформу x64 выбрал, но не собирается, ругается:
Ошибка 2 error LNK2001: неразрешенный внешний символ "lua_tolstring"

Я так понимаю нужны другие файлы для x64
lauxlib.h
lua.h
lua5.1.lib
luaconf.h

Но где их взять? Подскажите.
 
Цитата
Павел написал:
А если мне нужно использовать собственную dll как сделать x64 ?
Добрый день.
Да для x64 необходимо скачать исходники для x64. Все доступно на официальном сайте http://luabinaries.sourceforge.net/
Проверялось для сборки Lua 5.1.4 - Release 2
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Библиотека собралась.

Что делал:

У меня Visual Studio 2013
На сайте выбрал Lua 5.1.4 - Release 2 (sources and Visual C++ 8/9 binaries only)
Далее Windows Libraries
И скачал lua-5.1.4_Win64_vc12_lib.zip

в Visual Studio изменил Release Win32 на Release x64 Собрал, ошибок не было.

Попробовал подключить dll библиотеку к скрипту через require("myNew");

Запустил скрипт и получил ошибку:
error loading module 'myNew' from file 'C:\QUIK_8.0.1\myNew.dll':
%1 не является приложением Win32.

Что я не так делаю?
 
Благодарю за помощь. Все получилось. Скорее всего это я уже где то что то напутал.
Удалил все и начал с самого начала, все получилось.

Пишу что делал, возможно кому то пригодится:
У меня Visual Studio 2013, на других версиях думаю так же, но не пробовал.
1. Создал проект и настроил его по инструкции (только файлы брал другие см.п.2, а так же см п.3) Сайт https://quikluacsharp.ru/qlua-c-cpp-csharp/konnektor-dll-quik-qlua-lua-c/ надеюсь ссылки на сторонние сайты можно размещать.
2. На сайте http://luabinaries.sourceforge.net/ выбрал "Lua 5.1.4 - Release 2 (sources and Visual C++ 8/9 binaries only)" Далее "Windows Libraries" и скачал "lua-5.1.4_Win64_vc12_lib.zip". Скаченные файлы разместил как сказано на сайте из п.1
3. В Visual Studio 2013, при настройке проекта, я изменил: Конфигурация Активная (Release) Платформа x64 (Создал через диспетчер конфигураций)
4. Код СИ скопировал для примера с того же сайта п.1
5. Проект успешно собрал, dll библиотека появилась.
6. Создал скрипт Lua, подключил через require. Запустил в QUIK 8.0.1.1 и все заработало.
 
Цитата
Павел написал:
Благодарю за помощь. Все получилось.
Рад был помочь.
Еще хотел бы поправить написанное мной выше, версия 5.1.4 это не последняя версия, есть еще патч 5.1.5 (https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/ ), правильнее будет использовать его.
Проверял на Visual Studio 2015 пакет lua-5.1.5_Win64_dll15_lib.zip, все работает, библиотеки собираются.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Установил 5.1.5 на Visual Studio 2013 - Все работает, библиотека собралась, в QUIK 8.0.1.1 скрипт запустился.

Скачал lua-5.1.5_Win64_vc12_lib.zip
 
Цитата
Еще хотел бы поправить написанное мной выше, версия 5.1.4 это не последняя версия, есть еще патч 5.1.5 (https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/ ), правильнее будет использовать его.
Там несколько вариантов. Какой надо?
 
Цитата
Игорь Б написал:
Там несколько вариантов. Какой надо?
Смотря какой версией Visual Studio Вы будите компилировать, для 2015 я использовал lua-5.1.5_Win64_vc15_lib.zip. Выше Павел использовал 2013 версию и скачивал lua-5.1.5_Win64_vc12_lib.zip
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Компилирую как Александр М выше
Цитата
никаких dll или сторонних библиотек не используется в скриптах. Скрипты скомпилированы через стандартную команду:

luac -s -o "$(FileName).luac" "$(FileNameExt)"

Что надо сделать для работы?
Visual Studio для этого не использую.
Использую LuaForWindows_v5.1.4-46
Могу ли просто заменить скаченные файлы и дирректории в  LuaForWindows?
Если нет, то что можно сделать?
 
Цитата
Игорь Б написал:
Visual Studio для этого не использую.Использую LuaForWindows_v5.1.4-46
Для получения компилированного lua скрипта (*.luac) нужно скачать x64 luaс.exe, соответственно Вам нужно пройти по ссылке https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/ и скачать lua-5.1.5_Win64_bin.zip.
Цитата
Игорь Б написал:
Цитата
Еще хотел бы поправить написанное мной выше, версия 5.1.4 это не последняя версия, есть еще патч 5.1.5 ( https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/  ), правильнее будет использовать его.
Там несколько вариантов. Какой надо?
по данной ссылке выложены исходники для компиляции собственных dll, которые потом уже используются в lua скриптах.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Для получения компилированного lua скрипта (*.luac) нужно скачать x64 luaс.exe, соответственно Вам нужно пройти по ссылке https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/ и скачать lua-5.1.5_Win64_bin.zip.
Спасибо. Работает.
 
Цитата
Павел написал:
А если мне нужно использовать собственную dll как сделать x64 ?
кросс-сборка на линупсе

мануал: http://lua-users.org/wiki/BuildingModules
Код
sudo apt install g++-mingw-w64-x86-64

для примера:

собираем некую либу my_lib:
Код
x86_64-w64-mingw32-gcc -I./lua5.1/src -ansi -pedantic -Wall -O2 -c -o lmy_lib.o lmy_lib.c
Код
x86_64-w64-mingw32-gcc -o my_lib.dll -shared lmy_lib.o -L. -llua5.1
при этом:

- каталог с исходниками lua5.1 лежит в текущем из https://sourceforge.net/projects/luabinaries/files/5.1.5/Docs%20and%20Sources/lua-5.1.5_Sources.tar....

- lua5.1.dll лежит в текущем каталоге из https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/lua-5.1.5_Win64_bin.zip...

- рядом с -L. точка, те текущий каталог
 
Замечательно. А что делать тем у кого 32 разрядная система? Всё что отстроено годами, теперь всё это ломать по вашей милости?
 
Цитата
Иван Сидоров написал:
Замечательно. А что делать тем у кого 32 разрядная система? Всё что отстроено годами, теперь всё это ломать по вашей милости?
вас не более 10% - это демократия :)
 
Цитата
новичок написал:
Цитата
Иван Сидоров написал:
Замечательно. А что делать тем у кого 32 разрядная система? Всё что отстроено годами, теперь всё это ломать по вашей милости?
вас не более 10% - это демократия :)

Да ну, это откуда такие данные? А я думаю что 50 на 50.
 
Цитата
Иван Сидоров написал:
Да ну, это откуда такие данные?
https://www.extremetech.com/computing/267180-nvidia-ends-support-for-32-bit-operating-systems

Цитата
Иван Сидоров написал:
А я думаю
а вот это  - вряд ли
 
Цитата
Иван Сидоров написал:
А что делать тем у кого 32 разрядная система?
А для вас ничего не изменилось. Вы сидите на 7.27 и ничего менять не нужно. Красота.
 
Более не поддерживается Win XP?
"Не поддерживается" = "работать вообще не будет" или "фиг знает, больше на XP не тестируем, ничего не гарантируем, не фиксим"
 
Цитата
sergei написал:
Более не поддерживается Win XP?"Не поддерживается" = "работать вообще не будет"
Наверное дело в том что новая версия х64.
а WinXP - х32.  
 
Цитата
Imersio Arrigo написал:
а WinXP - х32.  
https://ru.wikipedia.org/wiki/Windows_XP_Professional_x64_Edition
 
Никогда такого не видел.
Слышал что умельцы ухитрялись заводить хр с ядром от 2003-64 сервера, но незнаю насколько это правда. Ибо кроме ядра нужен 64битный юзерспейс.
 
Цитата
Imersio Arrigo написал:
Никогда такого не видел.
абсолютно обычная тема была для предприятий
у мну сохранилась и офф iso,  и ключ ..
само собой есть и в сети на торрентах

людей не хотящих из ХР валить можно понять, тк валить можно только на линукс
а им скилл не позволяет.

ткчт моя их понимает, но не жалеет .. (имею право)
 
Цитата
новичок написал:
Цитата
Imersio Arrigo написал:
Никогда такого не видел.
абсолютно обычная тема была для предприятий
у мну сохранилась и офф iso,  и ключ ..
само собой есть и в сети на торрентах

людей не хотящих из ХР валить можно понять, тк валить можно только на линукс
а им скилл не позволяет.

ткчт моя их понимает, но не жалеет .. (имею право)
Я Win XP ставлю через VirtualBox на Ubuntu. Кроме QUIK там нет ничего из соображений безопасности.Через WINE кривовато почему-то получалось, когда несколько лет назад я решение проблемы искал.
Насколько знаю, сам QUIK до недавнего времени работал только на Windows + существовал сильно урезанный по функциональности WebQUIK.

Недавно один из брокеров (ПСБ) стал бросать в сообщения Квика, что у них также есть версии для MacOS и Android. Наверно, это новьё.
А под сам Линукс, походу, Квик еще не портировали, иначе нафиг мне была бы нужна поддержка XP.

Короче, соблюдаю первый программерский принцип - "не трогай то, что работает" :) Как нашел несколько лет назад решение Ubuntu - Virtual Box - WinXP, так до сих пор заморачиваться с обновлением своих познаний не приходилось.
 
Цитата
sergei написал:
для MacOS
iOS
Цитата
sergei написал:
А под сам Линукс, походу, Квик еще не портировали,
и не собирались, даже лозунг есть на заглавной форума
Цитата
sergei написал:
первый программерский принцип - "не трогай то, что работает"
"не нужно чинить то, что не сломано ..." (с)

только не понятно к чему сии чистосердечные признания.

Цитата
Imersio Arrigo написал:
Ибо кроме ядра нужен 64битный юзерспейс.
"дрова" даже нужнее оказались :)

мфц/винАпи был - квик бы мог работать видимо - может запробую в виртуалке как-нить.
 
Цитата
новичок написал:
"дрова" даже нужнее оказались :)
Ну, во-1-х поставить дров и юзерспейс не противоречит никак.
во-2-х, я в линухе долго жил на 64х ядре, с 32х юзерспейсом. Сначала было РАЕ-шное ядро, потом заменил на 64.
А на 64-либы переехал только тогда когда обнаружил что виртуалбокс 32хбитный не работает с 64хбитными модулями ядра.

Цитата
sergei написал:
Через WINE кривовато почему-то получалось
Может "вы не умеете их готовить"?
 
Цитата
Nikolay Pavlov написал:
Цитата
Павел написал:
Благодарю за помощь. Все получилось.
Рад был помочь.
Еще хотел бы поправить написанное мной выше, версия 5.1.4 это не последняя версия, есть еще патч 5.1.5 ( https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/  ), правильнее будет использовать его.
Проверял на Visual Studio 2015 пакет lua-5.1.5_Win64_dll15_lib.zip, все работает, библиотеки собираются.
У меня не получается собрать почему-то

Собираю VC Enterprise 2015

библиотеку беру lua-5.1.5_Win64_vc15_lib.zip

собираю проект  release x64 :  dll с многобайтовой кодировкой

при сборке виду кучу неразрешенных внешних символов типа feof в функции getF  или freopen в функции luaL_loadfile.
как понимаю, это имена из lua5.1.lib и дело в разрядности сборки.

тыкните пальцем, куда смотреть, пжлста....
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Отвечу сам себе, раз все молчат.

Надо не полагаться ни на кого, надо брать исходники и медленно спускаться с горы  и не торопясь собирать все с нуля - сначала библиотеку, потом длл....
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
s_mike@rambler.ru написал:
У меня не получается собрать почему-тоСобираю VC Enterprise 2015библиотеку беру lua-5.1.5_Win64_vc15_lib.zipсобираю проект  release x64 :  dll с многобайтовой кодировкойпри сборке виду кучу неразрешенных внешних символов типа feof в функции getF  или freopen в функции luaL_loadfile.как понимаю, это имена из lua5.1.lib и дело в разрядности сборки.
Добрый день.
В итоге у Вас получилось собрать? Какую библиотеку собираете, собственную или общедоступную?
Зачастую просто поменять Lua-шные исходники в проекте не достаточно, нужно проверить все линки в настройках проекта.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
Цитата
   s_mike@rambler.ru написал:
У меня не получается собрать почему-тоСобираю VC Enterprise 2015библиотеку беру lua-5.1.5_Win64_vc15_lib.zipсобираю проект  release x64 :  dll с многобайтовой кодировкойпри сборке виду кучу неразрешенных внешних символов типа feof в функции getF  или freopen в функции luaL_loadfile.как понимаю, это имена из lua5.1.lib и дело в разрядности сборки.
Добрый день.
В итоге у Вас получилось собрать? Какую библиотеку собираете, собственную или общедоступную?
Зачастую просто поменять Lua-шные исходники в проекте не достаточно, нужно проверить все линки в настройках проекта.
взял исходники Lua 5.1.5, собрал их в модели 64, проверил.  Вроде нормально,  работу работают.

после чего на основе получившейся .lib скомпоновал свою dll.  Тоже на первый взгляд удачно. Время покажет насколько.

все остальные библиотеки и способы, в том числе те,  на которые здесь были ссылки,  не собрались нормально.  
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
s_mike@rambler.ru написал:
все остальные библиотеки и способы, в том числе те,  на которые здесь были ссылки,  не собрались нормально.  
Возможно это особенность dll, которую Вы собираете, но гадать можно бесконечно не имея исходников.
Главное, что в итоге библиотека собралась.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Очень грустно что разработчики поставили людей перед фактом. Или работай в старой но у тебя не будет ни УДС ни части другой информации или переходи в новую но вместо торговли бегай в поисках тех у кого покупал модули, которые облегчали тебе работу. Такое отношение к клиенту у Вас проходит только потому что Вы монополисты, если бы была возможность то плюнул бы на все удобства quik и ушел бы в другую систему. Вы похоже зазвездились. Жалко.
 
Цитата
Юрий написал:
Очень грустно что разработчики поставили людей перед фактом. Или работай в старой но у тебя не будет ни УДС ни части другой информации или переходи в новую но вместо торговли бегай в поисках тех у кого покупал модули, которые облегчали тебе работу. Такое отношение к клиенту у Вас проходит только потому что Вы монополисты, если бы была возможность то плюнул бы на все удобства quik и ушел бы в другую систему. Вы похоже зазвездились. Жалко.
Добрый день.

Это вопрос расстановки приоритетов в условиях ограниченного ресурса: можно тратить время и силы на производство, тестирование, документирование и сопровождение двух параллельных платформ, но в таком случае ресурса на дальнейшее развитие терминала (в том числе и реализацию многочисленных пожеланий пользователей) не останется. В таких условиях выбор приоритетов был очевиден. В то же время мы, конечно, понимаем те затруднения, с которыми столкнулись пользователи нашего продукта, и со своей стороны прикладываем все усилия для того, чтобы помочь их разрешить.
 
Добавил в архив тестовый пример DLL на C++ для QUIK 8 (x64)
Там же можно взять .lib-файл для сборки своих проектов

https://quik2dde.ru/viewforum.php?id=14
 
С квиком 7семеркой брокер обнуляет безопасность. Ну нормально, 10 процентов выкинули с рынка. когда итак торговать некому. все ушли играть в футбол. Вообще ребята, нечего тратить время на квик, особенно  по построению заморочек к нему, только настроишь и тут же все неимоверные  сизифовы труды обнулят по соображениям , как там выше, ресууурса..
 
Цитата
Аркадий написал:
С квиком 7семеркой брокер обнуляет безопасность
Добрый день.

Это не так от слова совсем. По всей видимости Вы поняли своего брокера не верно.
 
Цитата
s_mike@rambler.ru написал:
взял исходники Lua 5.1.5, собрал их в модели 64, проверил.  Вроде нормально,  работу работают.

после чего на основе получившейся .lib скомпоновал свою dll.  Тоже на первый взгляд удачно. Время покажет насколько.

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

алгоритм другой должен быть, либина вообще-то по уму должна быть от квиковской lua, а не от общедоступной. они немного отличаются.

алгоритм:
1. получаем список функций экспорта библиотеки, где lua5.1.dll - библиотека из поставки quik 8.0
dumpbin.exe  /EXPORTS lua5.1.dll  > lua5.1.exports

2. форматируем файлик .exports, оставляя только имена функций и добавляя сверху одно слово EXPORTS, пример
EXPORTS
is_proxy_dll
luaA_pushobject
luaC_barrierback
...

3. меняем расширение .exports на .def

4. создаём lib:
lib.exe  /def:lua5.1.def  /machine:x64 /out:lua5.1.lib

я использовал утилиты из состава MSVC:
MSVC\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64\
 
Всем привет, ребята помогите откомпилировать в 64 бит, я в 64х битном компилировании и в MSVC Studio  почти ноль, немного компилировал на Mingw 32х битном, делал руководствуясь примерами выше https://quikluacsharp.ru/qlua-c-cpp-csharp/konnektor-dll-quik-qlua-lua-c/, неполучается,  скачал MSVC Community 2019, но не думаю что проблема в отличии версии 2019 от 2013, сделал все один в один, в точности как в странице по ссылке, а компилировать пробовал библиотечку Lua file system - https://github.com/keplerproject/luafilesystem
скачал https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/lua-5.1.5_Win64_...

закинул хедеры от исходников и из луабинов 5.1.5  в созданную папку с проектом, повторил все шаги, на этапе сборки система ругается, см.скриншот, я так понимаю потому что исходник lfs.c - это С а не С++, но в msvc я не вижу нигде возможности задать чтобы исходники были С, только С++ или C#,
Причем на mingw (32-ух битном я компилил эту библиотечку вообще без проблем, так что ошибок никаких там в коде быть не может)  решил поэтому попробовать на Mingw-w64, скачал установил, скачал под мингв64 и луабинарии - https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/lua-5.1.5_Win64_...

распаковал, раскидал всё по нужным папкам в мингв64, путь к исполняемым файлам мингв64 в винде в системных переменных установил в path - c:\mingw64\bin
захожу в папку с распакованными исходниками lfs, где lfs.c лежит и выполняю -

x86_64-w64-mingw32-gcc-4.8.3 lfs.c -o lfs.dll
В итоге вываливается -


Код
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x15): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x3a): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x68): undefined reference to `lua_pushfstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x81): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc5): undefined reference to `lua_pushboolean'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xf0): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x111): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x13d): undefined reference to `lua_pushfstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x152): undefined reference to `lua_pushboolean'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1dc): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x250): undefined reference to `luaL_checkudata'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x277): undefined reference to `luaL_error'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x2ee): undefined reference to `luaL_error'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x394): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x3cb): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x3e9): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x479): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x495): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x4ad): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x4ce): undefined reference to `lua_newuserdata'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x4f2): undefined reference to `lua_getfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x500): undefined reference to `lua_setmetatable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x52c): undefined reference to `luaL_checkudata'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x59b): undefined reference to `luaL_checkoption'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x5ed): undefined reference to `lua_pushboolean'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x636): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x667): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x6f5): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x70d): undefined reference to `luaL_optinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x724): undefined reference to `luaL_optinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x76a): undefined reference to `lua_pushboolean'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x77a): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x79f): undefined reference to `lua_pushfstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x7e3): undefined reference to `luaL_optinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x7fa): undefined reference to `luaL_optinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x83f): undefined reference to `lua_pushboolean'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x84f): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x874): undefined reference to `lua_pushfstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x8d5): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x920): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x97a): undefined reference to `luaL_checkudata'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x9a6): undefined reference to `luaL_argerror'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x9fe): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xa1f): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xa4d): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xab2): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xada): undefined reference to `lua_touserdata'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xb3e): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xb58): undefined reference to `lua_pushcclosure'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xb66): undefined reference to `lua_newuserdata'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xb7f): undefined reference to `lua_getfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xb8d): undefined reference to `lua_setmetatable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xbce): undefined reference to `luaL_error'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc15): undefined reference to `luaL_newmetatable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc29): undefined reference to `lua_createtable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc3f): undefined reference to `lua_pushcclosure'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc54): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc6a): undefined reference to `lua_pushcclosure'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc7f): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xc94): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xcaa): undefined reference to `lua_pushcclosure'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xcbf): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xce6): undefined reference to `luaL_newmetatable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xcfa): undefined reference to `lua_createtable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xd10): undefined reference to `lua_pushcclosure'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xd25): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xd3a): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xd50): undefined reference to `lua_pushcclosure'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xd65): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xe20): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xe2d): undefined reference to `lua_gettop'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xe4e): undefined reference to `luaL_optnumber'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xe6c): undefined reference to `luaL_optinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xecd): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xef8): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xf26): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xf55): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xf84): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xfb3): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0xfdf): more undefined references to `lua_pushinteger' follow
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1163): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x118e): undefined reference to `luaL_checklstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x11ad): undefined reference to `lua_pushnil'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x11d9): undefined reference to `lua_pushfstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x11f2): undefined reference to `lua_pushinteger'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x120a): undefined reference to `lua_isstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1226): undefined reference to `lua_tolstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x12bd): undefined reference to `luaL_error'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x12d0): undefined reference to `lua_settop'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x12de): undefined reference to `lua_type'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x12f7): undefined reference to `lua_createtable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1323): undefined reference to `lua_pushstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1353): undefined reference to `lua_rawset'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x13e3): undefined reference to `lua_isstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x13fb): undefined reference to `lua_tolstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1463): undefined reference to `lua_type'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x148f): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x14ba): undefined reference to `lua_pushlstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x14cf): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x14e5): undefined reference to `lua_pushlstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x14fa): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1510): undefined reference to `lua_pushlstring'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1525): undefined reference to `lua_setfield'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x155e): undefined reference to `lua_createtable'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1573): undefined reference to `luaL_register'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1581): undefined reference to `lua_pushvalue'
C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o:lfs.c:(.text+0x1596): undefined reference to `lua_setfield'
c:/mingw64/bin/. ./lib64/gcc/x86_64-w64-mingw32/4.8.3/. ./. ./. ./. ./x86_64-w64-mingw32/bin/ld.exe: C:\Users\Me\AppData\Local\Temp\cc0DX3v3.o: bad reloc address 0x0 in section `.data'
collect2.exe: error: ld returned 1 exit status
Это функции из интерпретатора луа, который в квике зовется как qlua.dll
т.е. в хедерах которые подключаются в lfs.c идет подключение к интерпретатору и запрашиваются его функции но компилятор нигде не может увидеть lua.dll (еще непонятно под каким названием он её ищет - lua51.dll или lua5.1.dll
или lua.dll или еще как то?)

я уже куда только под какими только названиями ни пробовал qlua.dll закидывать в папки c:\mingw64\..
во все папки закидывал, в папку с компилируемыми исходниками закидывал, нигде не видит
подключение к dll идёт как я вижу в luaconf.h, вот эти строчки:

Код
*/
#if defined(_WIN32)
/*
** In Windows, any exclamation mark ('!') in the path is replaced by the
** path of the directory of the executable file of the current process.
*/
#define LUA_LDIR   "!\\lua\\"
#define LUA_CDIR   "!\\"
#define LUA_PATH_DEFAULT  \
      ".\\?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" \
                   LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua"
#define LUA_CPATH_DEFAULT \
      ".\\?.dll;"  LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll;" \
      LUA_CDIR"clibs\\?.dll;" LUA_CDIR"clibs\\loadall.dll;" \
      ".\\?51.dll;"  LUA_CDIR"?51.dll;" LUA_CDIR"clibs\\?51.dll" 

#else
#define LUA_ROOT   "/usr/local/"
#define LUA_LDIR   LUA_ROOT "share/lua/5.1/"
#define LUA_CDIR   LUA_ROOT "lib/lua/5.1/"
#define LUA_PATH_DEFAULT  \
      "./?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
                  LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua"
#define LUA_CPATH_DEFAULT \
      "./?.so;"  LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" \
      "./lib?51.so;" LUA_CDIR"lib?51.so"
#endif
 
 
Цитата
Анатолий написал:
скачал установил, скачал под мингв64 и луабинарики
В проекте настроили линковку для lua.lib?
Q
 
Цитата
QApplication написал:
В проекте настроили линковку для lua.lib?
ну да, все как в инструкции по той ссылке qluacsharp, завтра ещё раз попробую
 
Ужос-то какой.

1. Чтобы студия компилировала как си без плюсов, надо расширение сделать .c, а не .cpp, либо кликнуть по файлу в дереве проекта правой кнопкой, открыть настройки файла и поставить ему "компилировать как си". Либо всему проекту поставить. Хотя, возможно, в мс-новоделии уже и нельзя это все, тут не в курсе.

2. Ваша qlua.dll, куда вы ее ни кладите, компилятору не нужна, он ее, как того Джо, не находит, потому что и не ищет. Даже линкеру она не нужна, ему нужна qlua.lib, как ее вытащить из qlua.dll тут где-то тема была.

3. Ошибки в студии (глядя по скрину) говорят о следующем: а) исходный код является говнокодом (E0144, C2440, C2664) даже с точки зрения сей без плюсов; б) в проекте стоит char type = UNICODE, а должен быть MULTIBYTE (E0167); в) аффтар не рассчитывал на винду (C4996); г) аффтар не рассчитывал на 64 бита (C4267). И это только что видно на скрине.

Если есть возможность, делегируйте компиляцию кому-нибудь. С помощью зала, конечно, что-нибудь в итоге накомпилируется, но что именно это будет - уже вопрос.
 
Цитата
Anton написал:
1. Чтобы студия компилировала как си без плюсов, надо расширение сделать .c, а не .cpp, либо кликнуть по файлу в дереве проекта правой кнопкой, открыть настройки файла и поставить ему "компилировать как си".
Выставил непомогло,
Цитата
Anton написал:
Ваша qlua.dll, куда вы ее ни кладите, компилятору не нужна, он ее, как того Джо, не находит, потому что и не ищет. Даже линкеру она не нужна, ему нужна qlua.lib, как ее вытащить из qlua.dll тут где-то тема была.
Тем более вытаскивать ничего ненадо, в луабинариях с сорсефоржа https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/,  которые для мингв64 есть либа - liblua5.1.a ,  это она ведь нужна?
я её закидывал в папку для либ мингв64   - c:\mingw64\x86_64-w64-mingw32\lib\
поскольку мингв64 - это не один компилятор а целый набор, а компилирую я с помощью x86_64-w64-mingw32-gcc.exe - и он ищет 64х битные либы именно по тому пути, пробовал также туда закидывать и либу  lua5.1.lib,  которая в луабинариях64  для msvc - все равно один и тот же результат - валятся те ошибки что сверху, скрины из MSVC studio 2019 прилагаю
Цитата
Anton написал:
а) исходный код является говнокодом (E0144, C2440, C2664)
Не является, т.к. 32-х битный mingw компилит эту библиотечку lfs.c в lfs.dll без каких либо проблем, и так же без каких либо проблем её функции потом из луа скрипта работают
Цитата
Anton написал:
в проекте стоит char type = UNICODE, а должен быть MULTIBYTE
Включил multibyte ненпомогло
 
Цитата
QApplication написал:
В проекте настроили линковку для lua.lib?
 
Цитата
Анатолий написал:
Цитата Anton  написал:в проекте стоит char type = UNICODE, а должен быть MULTIBYTE
Извиняюсь лишних скриншотов навставлял
Страницы: 1 2 3 4 След.
Читают тему
Наверх