Visual studio 调用libpq++ 出现 #error directive: "Oops: min() and/or max() are defined as preprocessor m

        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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值