0

我有一个在 VS2008 下编译良好的 C++ 项目,但现在我正在运行 VS2010 并且无法回到 2008 年。该项目不再编译,因为我收到“错误 C2371:'int8_t':重新定义;不同的基本类型”。

我已将问题缩小到使用 Boost 1.4x 和 MySQL C++ 连接器。如果我创建一个 test.cpp 文件并将以下内容放入其中,则会生成错误。

// BOOST
#include <boost/filesystem.hpp>
// SQL connector
#include <mysql_connection.h>
#include <cppconn/resultset.h>

我已经重建了 Boost 1.45,但仍然有问题,然后尝试了最新的 1.49,结果相同。MySQL C++ 连接器 (v1.1) 没有更新

我正在寻找此问题的可能建议或解决方案。

谢谢,

4

1 回答 1

2

原来有一个 MySQL 标志来禁用冲突。这似乎已经为我解决了这个问题。

// BOOST
#include <boost/filesystem.hpp>

#define HAVE_INT8_T 1

// SQL connector
#include <mysql_connection.h>
#include <cppconn/resultset.h>

数字我在发布问题后发现了这一点。

于 2012-06-12T05:20:33.147 回答