-
Notifications
You must be signed in to change notification settings - Fork 31
多文件include miraiCP.hpp:重复定义 #96
Comments
其实是有#ifdef包裹的 |
你说的和我想说的不是一个意思,多文件编译时是每个文件分开单独编译再链接的,所以每个文件都会包含miraiCP.hpp里的定义,再链接时会出错。我的意思是提供一个宏 |
明白了 我下午找找有没有更直接的解决方法,就不用用户手动控制的 |
有劳了!很期待miraiCP的发展:) 顺便问一下,解析Forwarded Message的支持大概要到什么时候呢? |
最近有时间就做,你可以看另外一个issue看后续XD |
看起来分离出个cpp是个不错的选择 |
辛苦了! 我也想参与贡献miraiCP,虽然比较菜就是了……可以加你QQ一起讨论吗? |
可以啊没什么问题hhh |
分实现到cpp了,应该没什么问题了 |
辛苦了,我这编译也通过了 |
下个版本使用这套方案 |
#96 Former-commit-id: 352e8059ab25181fb718d7074149bdfadcb1a17e
Former-commit-id: 4fc7128398d70beaedd5ae24d39151c21da7e4d2 [formerly bce6e62fa922069bd6ce09960345504ec21e1716] Former-commit-id: 04830d1
#96 Former-commit-id: a5559c31af122b3acce0aa91db2d3880ea8094fd [formerly 85d05554ea10dc877eadd6e7e4fb0004d532a3a3] Former-commit-id: ecb1c4b16662442a263105590df21adf0352cfa7
#96 Former-commit-id: 67ab6216f21b6936999cfb74f83ddcade94bd68b [formerly d097136a2364e9da2e7fa59e9dcf02d399cac86f] Former-commit-id: 532de938b7af007590aadded404b22c98bd802bd
#96 Former-commit-id: 67ab6216f21b6936999cfb74f83ddcade94bd68b [formerly d097136a2364e9da2e7fa59e9dcf02d399cac86f] Former-commit-id: 532de938b7af007590aadded404b22c98bd802bd
#96 Former-commit-id: 67ab6216f21b6936999cfb74f83ddcade94bd68b [formerly d097136a2364e9da2e7fa59e9dcf02d399cac86f] Former-commit-id: 532de938b7af007590aadded404b22c98bd802bd
使用多个文件编写时,多个文件均include
miraiCP.hpp
会报错。是否应将header-only头文件声明放在最前,用一个#ifdef XXX
包住定义,防止多文件include时出现问题?复现步骤:解压release miraiCP_CPP.zip,新增文件
demo2.cpp
,写入以下内容:修改cmakelist:删掉test,并加入
demo2.cpp
shell执行
Screenshots 相关代码和日志
本地运行环境
ArchLinux, g++ (GCC) 11.1.0, cmake version 3.21.3, GNU Make 4.3
版本:
The text was updated successfully, but these errors were encountered: