\ mingw32 \ bin \ ld.exe: не удается найти -lC: /msys/1.0/opt/tcl/lib - PullRequest
2 голосов
/ 10 марта 2011

Я пытаюсь скомпилировать симулятор для кода Y86 (http://csapp.cs.cmu.edu/public/sim.tar) в Windows, используя mingw и msys, симулятор использует Tcl и Tk для имеющегося графического интерфейса, поэтому я сначала попытался загрузить необходимые включения и библиотеки для Tcl иТ.к. собрать, это не сработало, поэтому я скачал исходники и встроил их в msys (http://wiki.tcl.tk/14828).

Проблема, с которой я сталкиваюсь, заключается в том, что я продолжаю получать ту же ошибку при запуске файла make,

chrismeyer @ MEYER-C / src / sim
$ make
(cd misc; make all) make [1]: вход в каталог /src/sim/misc' make[1]: Nothing to be done for all '. Make [1]: Выходящий каталог /src/sim/misc' (cd pipe; make all GUIMODE=-DHAS_GUI TKLIBS="-l /opt/tcl/lib" TKINC="-I /opt/tcl/include") make[1]: Entering directory / src / sim / pipe 'Сборка pipe-std.hcl версии PIPE ../misc/hcl2c -n pipe-std.hcl pipe-std.c gcc -Стена -O2 -I / opt / tcl / include -I ../ misc -DHAS_GUI -o psim psim.c pipe-std.c \ ../misc/isa.c -l / opt / tcl / lib -lm c: \ minGW \ bin .. \ lib \ gcc \ mingw32 \ 3.4.5 ........ \ mingw32 \ bin \ ld.exe: не удается найти -lC: /msys/1.0/opt/tcl/lib collect2: ld вернул 1 состояние выхода make [1]: * [psim] Ошибка 1 make [1]: Leaving directory `/ src / sim / pipe '

Извините за форматирование ошибки, она немного запуталась.Основная проблема в этой строке

C:\minGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lC:/msys/1.0/opt/tcl/lib

Я не уверен, почему gcc не может найти каталог lib, он существует, я проверял много раз.

Любое понимание этой проблемы было бы очень полезно!

Спасибо!

1 Ответ

6 голосов
/ 10 марта 2011

После короткого взгляда на Makefiles в дистрибутиве sim.tar я бы сказал, что ваши переменные не настроены должным образом.

Попробуйте следующие настройки в вашем Makefile:

TKLIB="-L/opt/tcl/lib -ltk -ltcl"
TKINC="-I/opt/tcl/include"

В зависимости от того, какие именно библиотеки у вас есть, вам может понадобиться добавить некоторые номера версий, например -ltcl85 или около того, но попробуйте без предварительного.

...