调用另一个静态库时出现静态库错误 我创建了一个静态库,a,从我的C++项目之一,我可以在另一个项目中使用,X. < /P>

调用另一个静态库时出现静态库错误 我创建了一个静态库,a,从我的C++项目之一,我可以在另一个项目中使用,X. < /P>,c++,linker,static-libraries,C++,Linker,Static Libraries,但是,我的静态库A中的一些函数调用静态库B(魔鬼图像加载库)中的其他函数。因此,为了编译我的项目X,我在链接器中包含了A和B,并且它编译得很好 问题是我的程序只有在调用库a中的函数时才出现分段错误,而库a又调用库B 有什么办法可以解决这个问题吗?我是否应该将库A和库B合并到一个库中(没有影响这一点的许可问题)?我正在使用Visual Studio 2013,如果这有什么不同的话 我在按正确顺序链接库时遇到问题。检查。使用调试信息构建应用程序和库,然后在调试器中运行以捕获崩溃。我已经完成了调试器。

但是,我的静态库A中的一些函数调用静态库B(魔鬼图像加载库)中的其他函数。因此,为了编译我的项目X,我在链接器中包含了A和B,并且它编译得很好

问题是我的程序只有在调用库a中的函数时才出现分段错误,而库a又调用库B


有什么办法可以解决这个问题吗?我是否应该将库A和库B合并到一个库中(没有影响这一点的许可问题)?我正在使用Visual Studio 2013,如果这有什么不同的话

我在按正确顺序链接库时遇到问题。检查。

使用调试信息构建应用程序和库,然后在调试器中运行以捕获崩溃。我已经完成了调试器。我没有依赖库B的源代码,但错误发生在B分配内存的函数中。您如何调用该函数?你确定问题不在你的代码中(在如何调用函数、传递的参数等方面)吗?不,因为如果我将A编译为可执行文件而不是库,并且A在B中调用相同的函数,它就可以正常工作。有几种可能的pb:这与回调函数有关吗?当一个库管理另一个库分配的内存时,会发生这种情况吗?你必须为我们提供更多的信息才能提供帮助…你能再解释一下你的答案吗?你在CMake中链接.a文件的顺序很重要。但是op使用msvc,这并不重要:如果有冲突,顺便说一句,链接器会抱怨你没有msvc的经验。我确实在*nix OSs中看到过类似的事情。