У меня есть следующие файлыASDF: составьте строить на ОС Windows не удается
example.asd:
(defsystem example
:serial t
:components ((:file "first")
(:file "second")))
first.lisp:
(defun first-print-hello()
(format t "Hello from first.lisp!~%"))
second.lisp:
(format t "Hello from second.lisp!~%")
(first-print-hello)
Я могу успешно загрузить систему, но (asdf:make-build :example :type :program :move-here ".")
дает следующее сообщение об ошибке:
LINK : fatal error LNK1149: output filename matches input filename 'C:\path\to\example.lib'
Есть ли что-то я не настраиваю правильно? Кажется, что создается example.lib, а затем пример example.exe example.lib, а cl не нравится, что они называются одинаковыми. Есть ли способ указать имя полученного исполняемого файла? Или это просто ошибка в asdf as: make-build?
Я использую ECL в Windows 10 с инструментами разработчика Visual Studio 2015.
(asdf: operation: program-op "example") все еще компилирует .lib и пытается сделать исполняемый файл с тем же именем. Так что я все еще получаю ошибку LNK1149. Я просмотрел источник asdf: make-build, и он действительно выглядит так, как будто он устарел. Документы ECL необходимо обновить. Любые другие предложения? – jefftime
Можете ли вы проследить uiop: запустить программу, чтобы увидеть, какая команда связи получает ошибку? –
И можете ли вы также отслеживать выполнение, чтобы увидеть, какое действие терпит неудачу? –