12 / 12 / 2
Регистрация: 02.09.2012
Сообщений: 40
1

SBCL под Windows. Не создаётся .exe из-под Slime

23.09.2013, 08:47. Показов 2299. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда настраивал SBCL + Emacs + Slime под Винду, сделал простой пример для проверки, который предлагался в статье.
Код
(ql:quickload :cffi)

(cffi:load-foreign-library "user32.dll")

(defun main ()
  (cffi:foreign-funcall "MessageBoxW"
    :pointer (cffi:null-pointer)
    (:string :encoding :utf-16le) "SBCL на Windows это просто!"
    (:string :encoding :utf-16le) "Сообщение"
    :int #x40
    :boolean))

(sb-ext:save-lisp-and-die "my-program.exe" :executable t :toplevel #'main)
Когда делаю load, получаю ошибку "Evaluation aborted on #<SIMPLE-ERROR "Cannot save core with multiple threads running." {25092791}.>"

Но, если я тот же код набираю в консоли SBCL (запускаю sbcl.exe и ввожу туда по одному S-выражению), то всё проходит гладко и создаётся .exe.
В чём может быть дело? В Linux я такого никогда не замечал.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2013, 08:47
Ответы с готовыми решениями:

Emacs/Slime and SBCL: stepping
Друзья, конкретно у меня никогда не было мысли пользоваться пошаговой отладкой в Common Lisp, и...

Как загрузить quicklisp в sbcl через slime в emacs?
Здравствуйте, дорогие! Я новичок в Emacs и не могу установить quicklisp и нормально все настроить....

Epson L4150: под Windows XP работает, под Windows 7 не видит
Попросили меня установить новенький принтер. Написано на нём: Epson L4150. Распаковал, краску...

Компиляция в командной строке (cl.exe) под платформы Windows XP и выше
Здравствуйте! Столкнулся с проблемой что во время компиляции в командной строке, выходной файл...

4
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.09.2013, 10:31 2
Быстрый гуглёж выдал такую статью: http://badbyteblues.blogspot.r... d-die.html. Попробуй.
0
12 / 12 / 2
Регистрация: 02.09.2012
Сообщений: 40
23.09.2013, 13:32  [ТС] 3
Что-то не помогло.. (( Я ещё больше запутался.. Что-то даже не пойму в чём конкретно причина.. косяк в SBCL или в Slime? Или во всём опять виновата Винда?

Ладно, пока что у меня это проблем не вызывает.. поживём - увидим. .)
0
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
23.09.2013, 15:16 4
Это не винда. Из Slime не создавать исполняемые файлы, так устроен SBCL. Простейший выход - открыть SBCL в консоли, загрузить необходимые определения/файлы/системы и конвертировать.
1
12 / 12 / 2
Регистрация: 02.09.2012
Сообщений: 40
23.09.2013, 15:31  [ТС] 5
helter, Ясно, спасибо.
0
23.09.2013, 15:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2013, 15:31
Помогаю со студенческими работами здесь

Как узнать из под Линукс информацию о Windows EXE/DLL файле?
Нужно из под Linux (без Wine) вытащить с Windows EXE/DLL файла такую информацию: CompanyName...

Копирование файлов с машины под Linux на машину под Windows Server
Добрый день! Возникла такая проблема. Не знаю как подступиться к скрипту. Задача следующая:...

Консультант+ на машине под Linux по сети с машины под Windows
Есть такой сложный вопрос, нужно запустить Консультант+ сетевая версия на Linux. При этом сам...

QFile.open() под Linux работает, под windows нет
QDateTime dt = QDateTime::currentDateTime(); logfilepath = &quot;log_&quot; + dt.toString() + &quot;.txt&quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru