【发布时间】:2011-03-24 07:43:26
【问题描述】:
我正在使用 mysql cpp 库。 我从那里检查最近的副本 bzr trunk 和 使用 cmake 生成库。
我第一次使用发布模式,第二次使用调试模式进行构建。 这两个库都有
a mysql_debug.cpp
U mysql_debug
有没有办法检查程序(C 或 C++ 代码)或使用 nm 该库是 Release 库或 Debug 库
【问题讨论】:
-
发布与调试问题是特定于 Windows 的。在 linux 下不应该存在二进制不兼容问题。
-
@ Alexandre C 但我遇到了奇怪的问题,如果我与 mysql cpp 的发布版本链接,程序会随机崩溃,但如果我将它与调试程序链接。它工作正常。
-
您可以在构建两个库时为它们指定不同的名称。
-
@Alexandre:发布与调试与 Windows 无关。这些只是 Visual Studio 在您创建项目时为您创建的默认配置名称。这些示例配置之间的区别在于运行时检查代码的数量,由 /RTC 指定。每个编译器都应该可以进行这样的设置。
-
@harper 是的,但是还有一个额外的问题是你在 windows 下链接的运行时库的版本,以及在“调试”和“发布”模式下 STL 类之间的二进制不兼容。在 linux 下,通常不存在这种不兼容性,至少对于标准库来说是这样(这里的情况可能有所不同,因为给定库的调试版本可能会在类中存储额外的信息)。
标签: c++ c mysql-connector mysql-connect