Ошибка Cygwin Gcc при загрузке общих библиотек?
Я установил Cygwin после запуска MinGW на некоторое время. Но когда я пытаюсь скомпилировать консоль, она дает мне:
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/cc1.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
что это значит?
7 ответов
У меня такая же проблема и я нашел решение.
согласно FAQ Cygwin
Q: почему C:\cygwin\usr\bin невидимый из окон?
A: Потому Что это на самом деле не существует. В cygwin /usr /bin-это просто ссылка на / bin.
поэтому пытаюсь добавить "C:\cygwin\usr\bin" путь будет напрасен.
добавить "C:\cygwin64\bin-вместо этого на тропу. Надеюсь, это поможет:)
вам не хватает библиотеки, пожалуйста, запустите cygcheck /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/cc1.exe
или ldd /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/cc1.exe
чтобы узнать, что такое отсутствующая библиотека.
скорее всего, вам просто не хватает /usr/bin в переменной PATH. Добавление' export PATH=/usr/bin:$PATH ' к вашему .bashrc файл решит проблему.
добавление фоновой информации. У меня была такая же проблема при создании моей собственной программы и связывании ее с graphviz cgraph.файл DLL. Оказывается, это связано с тем, где windows ищет DLL (см. здесь:https://msdn.microsoft.com/en-us/library/7d83bc18.aspx) поэтому добавление пути вашей отсутствующей библиотеки в путь должно устранить проблему.
к сожалению, сообщение не включает имя библиотеки. К счастью, cmd.exe дает вам это имя (так что это хорошо для чего-то все-таки;)
вы включаете путь к вашему каталогу lib? Похоже, вы не
Я не очень хорошо знаком с Cygwin, я в основном использую MinGW, но я думаю, что сообщение об ошибке говорит само за себя
(Я бы предпочел сначала задать вопрос в комментариях, но у меня еще недостаточно репутации.)
код cc1
не удается загрузить некоторые библиотеки DLL, которые необходимо запустить. Глядя на исходный код Cygwin, это может быть либо библиотека, указанная в LD_PRELOAD
, или -- более вероятно -- библиотека, от которой зависит исполняемый файл. The ?
в сообщении об ошибке, похоже, является возвращаемым значением по умолчанию find_first_notloaded_dll
(hookapi.cc
), если функция не может определить, что такое библиотека недостающий.
чтобы диагностировать проблему, я предлагаю проверить ваш PATH
переменная (или даже очистка ее от любых путей, отличных от Cygwin, и повторная попытка компиляции) и / или использование Зависимость Walker чтобы найти отсутствующие библиотеки DLL (запустите его из оболочки Cygwin, чтобы он мог видеть то же самое PATH
). ldd
(входит в Cygwin) также может дать некоторые подсказки, но я бы не стал делать ставку на это.
возможно чистая переустановка Cygwin будет необходима для того чтобы разрешить вопрос.
Я также пришел к этой ошибке на машине windows при выполнении .exe
файл, сгенерированный scilab2C
i.e toolbox для Scilab
на Windows 32 bit
добавьте путь переменной среды следующим образом:
C:\cygwin\usr\i686-pc-cygwin\bin
надеюсь это решит вашу проблему.