libpq++ 是PoragestSQL 专用的C++ API 访问该数据库的。
可是大家在开发过程中难免会遇到下面的错误:
“Error 1 error C1189: #error : "Oops: min() and/or max() are defined as preprocessor macros. Define NOMINMAX macro before including any system headers!" E:\Program Files\PostgreSQL\libpqxx-4.0.1\include\pqxx\compiler-public.hxx 45 1 ”
该问题困扰了很多程序调用该库。 针对这个错误有许多方法可是测试没有效果。
针对该问题有效的解决方法是:
格式如下:
1,
注意: 必须位于所有其他头文件的最后面。
# 这里是其他所有的头文件
#undef min
#undef max
#include "pqxx/pqxx"
#undef NOMINMAX
2, 方法二:
注意:必须位于所有头文件的最前面
<span style="font-size:24px;"><span style="white-space:pre"> </span> #include <pqxx/pqxx>
<span style="white-space:pre"> </span> #undef NOMINMAX
<span style="white-space:pre"> </span> #其他头文件都位于下面</span>
这两种方法测试ok。