Кстати, я умоляю не добавлять вслепую каталог, содержащий cygwin1.dll, в системный PATH. Путь ищется последовательно. Если вы обнаружите в пути более старые или более новые версии среды выполнения Cygwin, другие программы, связанные с cygwin1.dll, могут ужасно сломаться (и выяснить, что произошло, нетрудно, если вы не знаете, что ищете другую версию DLL). .)
Что вам нужно сделать, это скопировать cygwin1.dll (и другие библиотеки Cygwin DLL, которые могут потребоваться вашей программе) в каталог, содержащий ваш двоичный файл, а затем создать пустой (нулевой байт) файл с тем же именем, что и у вашего исполняемого файла, но с .local
добавлен, т. е. если ваш исполняемый файл mytest.exe
, вы создаете файл с именем mytest.exe.local
. Это скажет загрузчику PE: сначала искать требуемые библиотеки DLL в том же каталоге, в котором находится ваш двоичный файл, что позволит избежать головной боли в дальнейшем.