编译错误之error C3861: “xxxx”: 找不到标识符
2017-12-22 14:11
1496 查看
我的编译错误是如下:
这个时候,我们一般往这几种情况去考虑。
第一种情况
我们看看是否包含sbc2dbc的文件是否包含进来。我们一查果然,包含sbc2dbc函数的sbcdbc.hpp文件并没有加进来!
于是我们想办法找到sbcdbc.hpp,并把它include进来。
在开头写上 include "sbcdbc.hpp" (假设sbcdbc.hpp与当前文件在一个目录下,这不是重点)
我们兴高采烈的再次编译。
如果已经解决了的话,那么恭喜你,哈哈,如果还没有解决,看下面。
还是出现相同的错误。此时,我们想,不应该呀,我们已经包含进相应文件了。为什么编译器还是不认识这个函数。
第二种情况
我们去查命名空间。是否包含sbc2dbc的源文件中的命名空间,我没有using进来,导致编译器不认识。
于是我查看了sbcdbc.hpp文件。
发现了该文件中,有如下定义:
[cpp] view
plain copy
namespace ltp {
namespace strutils {
namespace chartypes {
于是我找到问题所在了,就是命名空间的问题。在该文件中,加入:
using strutils::chartypes::sbc2dbc;即可
于是就解决了sbc2dbc函数找不到标识符的问题了。
第三种情况
如果上面俩种情况都解决了,还出现这种问题,可以看看是不是string这些库没有加入。因为有些IDE编译器能够给你帮你自动找到string库,但是有些IDE不会,那么有可能是这些STL库没有引入进行。
大概是上面三种情况能够导致这些问题发生。
这个时候,我们一般往这几种情况去考虑。
第一种情况
我们看看是否包含sbc2dbc的文件是否包含进来。我们一查果然,包含sbc2dbc函数的sbcdbc.hpp文件并没有加进来!
于是我们想办法找到sbcdbc.hpp,并把它include进来。
在开头写上 include "sbcdbc.hpp" (假设sbcdbc.hpp与当前文件在一个目录下,这不是重点)
我们兴高采烈的再次编译。
如果已经解决了的话,那么恭喜你,哈哈,如果还没有解决,看下面。
还是出现相同的错误。此时,我们想,不应该呀,我们已经包含进相应文件了。为什么编译器还是不认识这个函数。
第二种情况
我们去查命名空间。是否包含sbc2dbc的源文件中的命名空间,我没有using进来,导致编译器不认识。
于是我查看了sbcdbc.hpp文件。
发现了该文件中,有如下定义:
[cpp] view
plain copy
namespace ltp {
namespace strutils {
namespace chartypes {
于是我找到问题所在了,就是命名空间的问题。在该文件中,加入:
using strutils::chartypes::sbc2dbc;即可
于是就解决了sbc2dbc函数找不到标识符的问题了。
第三种情况
如果上面俩种情况都解决了,还出现这种问题,可以看看是不是string这些库没有加入。因为有些IDE编译器能够给你帮你自动找到string库,但是有些IDE不会,那么有可能是这些STL库没有引入进行。
大概是上面三种情况能够导致这些问题发生。
相关文章推荐
- 编译错误之error C3861: “xxxx”: 找不到标识符
- 编译错误之error C3861: “getline”: 找不到标识符的问题
- HM低版本用VS2012打开编译错误问题error C3861: “mem_fun”: 找不到标识符
- 编译错误之error C3861: “getline”: 找不到标识符
- 编译错误之error C3861: “getline”: 找不到标识符
- 编译错误之error C3861: “GetDynamicTimeZoneInformation”: 找不到标识符
- assert()函数介绍 (错误4 error C3861: “ASSERT”: 找不到标识符)
- C++ 错误 2 error C3861: “__cpuidex”: 找不到标识符
- 错误 1 error C3861: “AfxMessageBox”: 找不到标识符 e:\c++\test\udptest20120901\udptest20120901\udptest2012090
- cuda 8.0 vs2012平台 编译出现 cuda8.0 error C3861: “__syncthreads”: 找不到标识符
- error C3861: “xxxx”: 找不到标识符
- error C3861: “xxxx”: 找不到标识符
- Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
- Flex错误:1004: namespace 要么找不到,要么不是编译时常数。
- arm-qt编译程序错误解决(没有-lts,arm-linux-g++找不到)
- 同包不同文件,继承接口,编译出错:java错误找不到符号
- cocos2d-x 在IDE vs2010 出现error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)编译错误解决方案
- 错误解析->“cvQueryHistValue_ND”: 找不到标识符
- Xcode编译WebApps找不到js的错误解决办法以及Xcode编译错误和警告汇总
- windows下,在python中安装xgboost的简易方法,解决 error C3861: “sleep”: 找不到标识符”