0

I have the following files

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)

I can successfully load the system, but doing (asdf:make-build :example :type :program :move-here ".") gives the following error:

LINK : fatal error LNK1149: output filename matches input filename 'C:\path\to\example.lib'

Is there something I'm not configuring properly? It seems to be creating example.lib, then making example.exe link example.lib, and cl does not like them being named the same. Is there a way to specify the name of the resulting executable? Or is this just a bug in ECL's asdf:make-build?

I'm using ECL on Windows 10 with Visual Studio 2015's developer tools.

4

1 回答 1

0

不要使用 make-build,使用 (asdf:operate :program-op "example")

或者不要使用 :move-here "."

于 2015-12-06T20:53:13.397 回答