LINUX.ORG.RU

cl -> mingw при компиляции выхлопа ecl


0

1

cl - MSVC compiler
ecl - implementation of the Common Lisp language

после

(compile-file "koi7.lisp" :c-file t :h-file t :data-file t)
получаю следующие файлы: koi7.c koi7.h koi7.data

и далее для получения koi7.obj -

cl -I"C:/ecl/msvc/package/"  /EHsc /DGC_DLL /DGC_BUILD /nologo /D_CRT_SECURE_NO_DEPRECATE /DNDEBUG /MD /O2  /O2 -w -c "c:/home/sources/study/pdi/koi7.c" -Fo"c:/home/sources/study/pdi/koi7.obj"

а потом вот так(я приведу полный вывод из ecl, т.к. не знаю где и как там подчищаются временные файлы, ну а какие комманды cl исполняются тут видно)

CL-USER> (c:build-program "koi7" :lisp-files '("koi7.obj"))
;;; Note:
;;;   Invoking external command:
;;;   cl -I"C:/ecl/msvc/package/"  /EHsc /DGC_DLL /DGC_BUILD /nologo /D_CRT_SECURE_NO_DEPRECATE /DNDEBUG /MD /O2  /O2 -w -c "C:/DOCUME~1/PSEUDO~1/LOCALS~1/Temp/E5CC.c" -Fo"C:/DOCUME~1/PSEUDO~1/LOCALS~1/Temp/E5CC.obj"
;;; 
;;; Note:
;;;   Invoking external command:
;;;   cl -Fe"c:/home/sources/study/pdi/koi7.exe" "C:/DOCUME~1/PSEUDO~1/LOCALS~1/Temp/E5CC.obj" "c:/home/sources/study/pdi/koi7.obj"   /link /incremental:no /nologo /nodefaultlib:libcmt /nodefaultlib:libcmtd /nodefaultlib:libc /nodefaultlib:libcd /nodefaultlib:msvcrtd.lib ecl.lib user32.lib ws2_32.lib shell32.lib
;;; 
;;; Note:
;;;   Invoking external command:
;;;   mt -nologo -manifest "koi7.exe.manifest" "-outputresource:c:/home/sources/study/pdi/koi7.exe;1"
;;; 
#P"koi7.exe"

Мне нужно сделать всё это же с mingw, надеюсь тут есть знатоки, которые смогут перевести cl->gcc, т.к. сам я ни знаю толком ни того не другого. Заранее большое спасибо)

ECL привязан к сишному компилятору, которым собирается. Причем, он, вроде, очень сильно по-разному компилирует даже, на разных компилерах, так что «тупо перевести» не прокатит.

На MSVC с ним большая жопа, не советую(как минимум - у MSVC ограничение на длину файла в 65535, чтоли, буков, так что многие библиотеки, обильно посыпанные макросами будут на компиляторе обламываться; как максимум - ECL под MSVC не особо тестируется, жди глюков с GC и gmp).

На MinGW тоже надо с плясками и бубном собирать, но это возможно, в принципе(у меня как-то получалось).

Doug
()

и это самое, про лисп лучше спрашивать на lisper.ru, на lisp@conference.jabber.ru или у меня на lisp-talks@conference.jabber.ru

Doug
()
Ответ на: комментарий от Doug

ну так какой компилятор тогда для виндовс вы посоветуете?

п.с. у меня впринципе всё собирается и работает с mscl, но я просто не осилил их замарочек с рантаймом c++, который должен быть как-то спецефично установлен, чтобы standalone exe мог работать.

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от Doug

> На MSVC с ним большая жопа, не советую(как минимум - у MSVC ограничение на длину файла в 65535,

O Rly? Не верю (С)

anonymous
()

бери последнюю версию из git'а и собирай с mingw. Последние версии должны работать.

а вообще, лучше задавать вопросы на lisper.ru.

anonymous
()
Ответ на: комментарий от Doug

у MSVC ограничение на длину файла в 65535, чтоли, буков

Уточните пожалуйста версию MSVC.

Просто если современный MSVC действительно имел бы такое ограничение, то например Qt собрать им было бы нельзя.

nozh
()
Ответ на: комментарий от anonymous

ну или не буков, а строк
я отчетливо помню, я на это ограничение наталкивался
вечером попробую сэмулировать

Doug
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.