我一直在尝试解决我的 C++ 应用程序中的严重内存泄漏问题。我已将其范围缩小到 MySQL 连接的创建,并且 mysqlpp 文档(加上大量谷歌搜索)表明我需要调用 mysql_library_end() 来告诉 C API 自行清理。
当我尝试使用此函数时,Visual Studio 会为“mysql_library_end()”引发链接错误。很公平,我没有告诉它在哪里看。
当我包含头文件 mysql.h 并重新构建时,Visual Studio 会为“ mysql_server_end() ”抛出一个链接错误。我检查了 mysql.h (在我的构建环境中),我想使用的函数的唯一引用( mysql_library_end() )是:
#define mysql_library_end mysql_server_end
文件中有 mysql_server_end() 的函数声明,但 Visual Studio 似乎看不到它。我只是被这个链接器错误困住了,我不知道它为什么会发生。
任何人都可以帮忙吗?
干杯,亚当。
编辑
我正在使用 Visual Studio 2005。来自 IDE 的错误消息是:
错误 6 错误 LNK2019:未解析的外部符号 _mysql_server_end@0 在函数“public: __thiscall CConnectionParams::~CConnectionParams(void)”(??1CConnectionParams@@QAE@XZ) CConnectionParams.obj 中引用
其中 CConnectionParams 是调用 mysql_library_end() 的 .cpp 文件。