Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ libpqxx在调试模式期间引发异常_C++_Visual C++_C++11_Postgresql 9.2_Libpqxx - Fatal编程技术网

C++ libpqxx在调试模式期间引发异常

C++ libpqxx在调试模式期间引发异常,c++,visual-c++,c++11,postgresql-9.2,libpqxx,C++,Visual C++,C++11,Postgresql 9.2,Libpqxx,我有一个使用libpqxx的MFC项目。所有设置都是默认设置 释放模式如我所料正常工作。但当我切换到调试模式时,它会显示一个异常并显示调试断言: 最有趣的是,如果我使用共享DLL而不是静态DLL(当然是在调试时),它就可以工作了 基本上,使用静态库调试会显示此异常/错误。如果我切换到共享DLL,它会再次工作。当然,我可以使用共享作为调试,使用静态作为发布,但是这是正确的吗 注:本项目是基础和新鲜的。我没有从Configuratrion Manager更改任何配置 有什么建议吗?好的,我不确定li

我有一个使用libpqxx的MFC项目。所有设置都是默认设置

释放模式如我所料正常工作。但当我切换到调试模式时,它会显示一个异常并显示调试断言:

最有趣的是,如果我使用共享DLL而不是静态DLL(当然是在调试时),它就可以工作了

基本上,使用静态库调试会显示此异常/错误。如果我切换到共享DLL,它会再次工作。当然,我可以使用共享作为调试,使用静态作为发布,但是这是正确的吗

注:本项目是基础和新鲜的。我没有从Configuratrion Manager更改任何配置


有什么建议吗?

好的,我不确定
libpqxx
是否使用MFC(以及哪个?)。我怀疑您正在从一个堆分配一些内存,然后从另一个堆取消分配。混合使用MFC版本以及MFC的静态/非静态混合将导致此断言

不要将其视为正在进行发布构建!它只是不为自己辩护(即现在显示任何断言消息)。最好的办法是找到这个问题的原因,第一步是查找调用堆栈(点击这个断言对话框上的重试)


请参阅,如果
libpqxx
依赖于MFC,或者它禁止混合MFC的静态版本。您可以查看
libpqxx
的文档,和/或使用Dependency Walker查看库是否使用MFC。

好的,我不确定
libpqxx
是否使用MFC(以及哪个?)。我怀疑您正在从一个堆分配一些内存,然后从另一个堆取消分配。混合使用MFC版本以及MFC的静态/非静态混合将导致此断言

不要将其视为正在进行发布构建!它只是不为自己辩护(即现在显示任何断言消息)。最好的办法是找到这个问题的原因,第一步是查找调用堆栈(点击这个断言对话框上的重试)


请参阅,如果
libpqxx
依赖于MFC,或者它禁止混合MFC的静态版本。您可以查看
libpqxx
的文档,和/或使用Dependency Walker查看库是否正在使用MFC。

共享调试DLL-如何和什么?你是说MFC还是ATL?很抱歉忘了提这个。是的,MFC。我更新了我的问题。共享调试DLL-如何和什么?你是说MFC还是ATL?很抱歉忘了提这个。是的,MFC。我更新了我的问题。
…以及MFC的静态/非静态混合将导致此断言…
我最终选择了另一个名为libpqxxd.lib和woala的库文件:)它可以正常工作。我只是混合了一些东西。顺便说一句,这不是直接为MFC。因为在MFC中,它显示一个错误“null”:找不到标识符。但标准Win32项目构建得很好。我仍然不知道如何传递空错误。
…以及MFC的静态/非静态混合将导致此断言…
我最终选择了另一个名为libpqxxd.lib和woala的库文件:)它可以正常工作。我只是混合了一些东西。顺便说一句,这不是直接为MFC。因为在MFC中,它显示一个错误“null”:找不到标识符。但标准Win32项目构建得很好。我仍然不知道如何传递空错误。