Я работаю над приложением C ++ в сообществе Visual Studio 2015, используя CGAL. Приложение работает, когда я запускаю его из Visual Studio (как в режиме отладки, так и в режиме выпуска, с отладчиком и без него) или из командной строки Windows. Однако при запуске точно такого же исполняемого файла с теми же аргументами из git bash (mintty 2.0.3 x86-64-pc-msys) я иногда получаю ошибку сегментации при вызове dll. Это меня расстраивает, так как я обычно использую git bash в качестве своей консоли в Windows.
Ошибка возникает, когда я создаю CORE :: Expr (точный тип числа) из строки, например, «726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656». Это вызывает CGAL_Core-vc140-mt-gd-4.8.dll, который, в свою очередь, вызывает libgmp-10.dll, где происходит ошибка сегментации.
Возможно ли, что существует ошибка программирования, которая не отображается в командной строке Windows, или использование другой консоли может вызвать ошибку сегментации?
Оказывается, git bash загружал libgmp-10.dll из своего собственного каталога установки (Git / mingw64 / bin / libgmp-10.dll), а не из каталога bin CGAL.
Других решений пока нет …