2016-04-21 37 views
-1

我正在使用CGAL在Visual Studio 2015社区中使用C++应用程序。当我从Visual Studio运行它时(无论是在调试模式还是发布模式下,有或没有附加调试器)或从Windows命令提示符运行该应用程序。但是,当从git bash(mintty 2.0.3 x86-64-pc-msys)运行完全相同的可执行文件时,我有时会在调用dll时遇到段错误。这对我来说令人沮丧,因为我通常在Windows上使用git bash作为我的控制台。应用程序在cmd中给出git bash中的段错误

当我从一个字符串构造一个CORE :: Expr(一个确切的数字类型)时就会出现错误,例如: “726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656”。这将调用CGAL_Core-vc140-mt-gd-4.8.dll,然后调用libgmp-10.dll,这是发生分段错误的位置。

是否有可能在Windows命令提示符下没有公开的编程错误,或者使用不同的控制台会导致分段错误?

+1

尝试http://www.dependencywalker.com/查看应用程序想要使用哪个DLL – fritzone

+1

“在调用dll”中 - 如果知道崩溃的大概位置,请张贴一些代码,因为它是一个没有更多信息的问题非常模糊。 –

+0

堆栈/内存损坏。 – Devolus

回答

0

事实证明,git bash从它自己的安装目录(Git/mingw64/bin/libgmp-10.dll)加载libgmp-10.dll而不是从CGAL bin目录中。

相关问题