Ошибка 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

надеюсь это решит вашу проблему.