QUIKSharp icon indicating copy to clipboard operation
QUIKSharp copied to clipboard

LUA выдает ошибку

Open Prival1 opened this issue 3 years ago • 2 comments

error loading module 'socket.core' from file 'D:\Temp\QUIKSharp-master\QUIKSharp-master\src\QuikSharp\lua\clibs64\socket\core.dll': Не найден указанный модуль.

Колдовство какое то. (((

Вроде бы победил эту ошибку. Комп полностью форматнул ... прошла неделя. Все работало. Решил с дуру обновиться скачал QUIKSharp-master.zip (а тот удалил рабочий).... и все по новой ((( Снова ошибка при старте LUA скрип ругается .... Версия Квика 8.13.1.16

Что делать подскажите ?

Prival1 avatar Aug 10 '21 17:08 Prival1

Не знаю, актуально или нет, но может кто ещё наткнётся.

Во-первых - в папке исходников сама dll лежит в подпапках, но есть ещё одно шаманство:

В папке lua/clibs64 есть 4 папки:

  • 5.1_MD
  • 5.1_MT
  • 53_MD
  • 53_MT

Но если MT заменить содержимое на MD, а MD соответственно на MT (можно просто переименовать), я делал только с какой-то одной парой, но не помню какой. заработает на какой-то комбинации точно

chislovMax avatar Oct 20 '21 20:10 chislovMax

Не стоит "играться" непосредственно с файлами в папке. Для этих целей в файле QuikSharp.lua есть соответствующие строки:

-- MD dynamic, requires MSVCRT
-- MT static, MSVCRT is linked statically with luasocket
-- package.cpath contains info.exe working directory, which has MSVCRT, so MT should not be needed in theory, 
-- but in one issue someone said it doesn't work on machines that do not have Visual Studio. 
local linkage = "MD"

if quikVersion >= 805 then
    libPath = libPath .. "64\\53_"..linkage.."\\"
elseif quikVersion >= 800 then
    libPath = libPath .. "64\\5.1_"..linkage.."\\"
else
	libPath = "\\clibs\\5.1_"..linkage.."\\"
end

Pr0phet1c avatar Oct 21 '21 06:10 Pr0phet1c