windows环境:

windows10,vs2017,编译器最新,支持c++17.

问题描述:

例如结构体:

struct test_create_table

{

//__int64 id; //可以

long id; //不可以,编译报错

string name;

};

REFLECTION(test_create_table, id, name)

void test_creat()

{

try

{

dbng mysql;

mysql.connect("127.0.0.1", "root", "123456", "test");

ormpp_key key{ "id" };

ormpp_not_null not_null{ {"id"} };

ormpp_auto_key auto_key{ "id" };

mysql.create_datatable(key, not_null);

}

catch (...)

{

cout << "create table fail" << endl;

}

}

报错如下:

1>ormpp_test.cpp

1>d:mayun_git\secondarycounter\ormpp_compile\ormpp-master\utility.hpp(84): error C2665: “ormpp::ormpp_mysql::type_to_name”: 7 个重载中没有一个可以转换所有参数类型

1>d:mayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(50): note: 可能是“std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identitystd::string) noexcept”

1>d:\mayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(49): note: 或 “std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identity) noexcept”

1>d:\mayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(48): note: 或 “std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identity) noexcept”

1>d:\mayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(47): note: 或 “std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identity) noexcept”

1>d:mayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(46): note: 或 “std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identity) noexcept”

1>d:mayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(45): note: 或 “std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identity) noexcept”

1>dmayun_git\secondarycounter\ormpp_compile\ormpp-master\type_mapping.hpp(44): note: 或 “std::string_view ormpp::ormpp_mysql::type_to_name(ormpp::identity) noexcept”

1>d:mayun_git\secondarycounter\ormpp_compile\ormpp-master\utility.hpp(84): note: 尝试匹配参数列表“(ormpp::identity)”时

\mayun_git\secondarycounter\ormpp_compile\iguana\iguana\reflection.hpp(476): note: 参见对正在编译的函数 模板 实例化“auto ormpp::get_type_names::::operator ()<: const>>(long test_create_table::* const &,std::integral_constant) const”的引用

\mayun_git\secondarycounter\ormpp_compile\iguana\iguana\reflection.hpp(484): note: 参见对正在编译的函数 模板 实例化“void iguana::for_each<:>(const std::tuple &,F &&,std::integer_sequence)”的引用

1> with

1> [

1> _Ty=ormpp::get_type_names::,

1> F=ormpp::get_type_names::

1> ]

1>\mayun_git\secondarycounter\ormpp_compile\ormpp-master\utility.hpp(98): note: 参见对正在编译的函数 模板 实例化“void iguana::for_each>(T &&,F &&)”的引用

1> with

1> [

1> T=test_create_table,

1> F=ormpp::get_type_names::

1> ]

1>mayun_git\secondarycounter\ormpp_compile\ormpp-master\mysql.hpp(381): note: 参见对正在编译的函数 模板 实例化“std::arraystd::string,2 ormpp::get_type_names(ormpp::DBType)”的引用

1> with

1> [

1> T=test_create_table

1> ]

1>dmayun_git\secondarycounter\ormpp_compile\ormpp-master\mysql.hpp(67): note: 参见对正在编译的函数 模板 实例化“std::string ormpp::mysql::generate_createtb_sql(ormpp_key &,ormpp_not_null &)”的引用

1> with

1> [

1> T=test_create_table

1> ]

1>d:mayun_git\secondarycounter\ormpp_compile\ormpp-master\dbng.hpp(33): note: 参见对正在编译的函数 模板 实例化“bool ormpp::mysql::create_datatable(ormpp_key &,ormpp_not_null &)”的引用

1> with

1> [

1> T=test_create_table

1> ]

1>d:\mayun_git\secondarycounter\ormpp_compile\ormpp-master\ormpp_test\ormpp_test.cpp(61): note: 参见对正在编译的函数 模板 实例化“bool ormpp::dbngormpp::mysql::create_datatable(ormpp_key &,ormpp_not_null &)”的引用

1>dmayun_git\secondarycounter\ormpp_compile\ormpp-master\ormpp_test\ormpp_test.cpp(61): note: 参见对正在编译的函数 模板 实例化“bool ormpp::dbngormpp::mysql::create_datatable(ormpp_key &,ormpp_not_null &)”的引用

1>d:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\type_traits(520): note: 参见对正在编译的 类 模板 实例化 "std::basic_string_view" 的引用

1>d:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\type_traits(1358): note: 参见对正在编译的 类 模板 实例化 "std::is_convertible>" 的引用

1> with

1> [

1> _StringViewIsh=char [2]

1> ]

1>d:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\type_traits(1364): note: 参见对正在编译的 类 模板 实例化 "std::conjunction<:is_convertible _stringviewish>>,std::negation<:is_convertible _stringviewish _elem>>>" 的引用

1> with

1> [

1> _StringViewIsh=char [2],

1> _Elem=char

1> ]

1>d:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\xstring(2105): note: 查看指向正在编译的变量模板“const bool conjunction_v<:is_convertible const> >,std::negation<:is_convertible const> > >”的引用

1>d:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\xstring(3748): note: 参见对正在编译的 别名 模板 实例化 "_Is_string_view_ish" 的引用

1>已完成生成项目“ormpp_test.vcxproj”的操作 - 失败。

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

无法识别long类型?

mysql 结构体_mysql模块使用结构体生成数据库表,不识别long类型相关推荐

  1. Java实现生成数据库表结构文档(生成工具screw的使用)

    目录 一.screw介绍 1.简介 2.特点 3.文档格式 二.生成方式 2.1 方式1:使用 Java 代码 2.1.1 引入依赖 2.1.2 编写代码 2.1.3 测试 2.2 方式2:使用 Sp ...

  2. Java一键生成数据库表结构

    Java一键生成数据库表结构 支持的数据库很多,基本上都支持 核心依赖: <!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP ...

  3. 自动生成数据库表结构word文档的工具(一)---- DBDocumentGenerator

    背景: 项目中需要编写数据库表结构文档,手动编写繁琐,格式难统一,且易出错,有没有自动生成数据库表结构文档的工具 方案 DBDocumentGenerator 数据字典生成工具,用于生成 数据库表 及 ...

  4. java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法

    前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...

  5. 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档(转

    对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...

  6. python比较两个数据库表_mysql如何比对两个数据库表结构的方法

    在开发及调试的过程中,需要比对新旧代码的差异,我们可以使用git/svn等版本控制工具进行比对.而不同版本的数据库表结构也存在差异,我们同样需要比对差异及获取更新结构的sql语句. 例如同一套代码,在 ...

  7. hibernate 读取mysql表结构_为什么要用hibernate 与基于数据库表结构的项目开发

    最近开始学习hibernate,其实并不知道要学习什么,有什么用.后来问了一下同事,他就说快捷方便简单,很多事情不用自己做他会帮你做好,但是我觉得不应该是这样的, 于是我就去搜了一下,就搜到了一篇帖子 ...

  8. python动态生成数据库表 orm_Python自动化 【第十二篇】:Python进阶-MySQL和ORM

    本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...

  9. Mysql中使用命令行导入.sql文件新建数据库表(图文)

    1.首先需要在Mysql命令行中先建好数据库,比如新建一个名字为"weibo2"的数据库: create database weibo2; 2.之后在命令行中输入:use weib ...

最新文章

  1. springboot使用shiro配置多个过滤器和session同步案例
  2. 我的react组件化开发道路(二) 分页 组件开发
  3. mongodb 的命令操作(转)
  4. Python判断素数(质数)
  5. python xlwt操作excel
  6. python编译原理 书籍_如何想学点编译原理,又不想直接看龙虎之类的书籍,太多理论,干燥?...
  7. Python不是内部或外部命令的(完美解决)
  8. qiankun加载react子应用报错[import-html-entry] error occurs while executing normal script
  9. 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type 'xx.mapper.xxMapper'...
  10. Docker修改默认网段
  11. 课程需要:祝自己前程似锦
  12. 电商不仅仅有CRUD——0基础了解电商中的引流工具谷歌GMC
  13. 【51Nod】-1326 遥远的旅途
  14. MathType编辑书名号的方法有哪些
  15. RV1126编译ROS Kinetic环境(Ubuntu18.04)
  16. SMG、东方明珠新媒体战略推进一周年;百度营销联合多品牌方举办开放麦;驭势科技推出自动驾驶新产品UiBox | 全球TMT...
  17. python不需要先声明变量类型、在第一次_Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。...
  18. VBO转HDMI OUT 支持常用分辨率,最大支持4K60HZ
  19. 江苏理科生骈体作文——《绿色生活》
  20. Pytorch复现FCN网络

热门文章

  1. hudson linux节点,在Linux下设置Hudson进行连续集成
  2. 字符串截取后两位,字符串转成数组,再转换位字符串
  3. java maximumpoolsize,如果maximumPoolSize小于corePoolSize怎么办? Java 6中可能存在的错误?...
  4. android webview 图表,Android WebView 无法正常显示网页图表
  5. 【OS学习笔记】三十一 保护模式九:页目录、页表和页三者的关系详解
  6. MySQL修改表名示例
  7. Oracle的to_char()函数使用
  8. BZOJ 1877 拆点费用流
  9. 邻结矩阵的建立和 BFS,DFS;;
  10. Windows 8操作技巧之快捷键大全