gpt4 book ai didi

c++ - 在 Visual Studio 2010 中 boost ,IntelliSense 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:15 33 4
gpt4 key购买 nike

我想看看你能不能给我定位。

碰巧我编译并引用了 boost 库,以便将它们与 Visual Studio 2010 一起使用。在构建我的测试项目时,我遇到了这两个 IntelliSense 错误

1   IntelliSense: #error directive: "Macro BOOST_LIB_NAME not set (internal error)" c:\boost_1_43_0\boost\config\auto_link.hpp

2 IntelliSense: #error directive: "some required macros where not defined (internal logic error)." c:\boost_1_43_0\boost\config\auto_link.hpp

检查auto_link.hpp头文件第一个错误就在这一行

#ifndef BOOST_LIB_NAME
# error "Macro BOOST_LIB_NAME not set (internal error)"
#endif

跟踪 BOOST_LIB_NAME 的定义,它似乎是由 boost_regex 在 config.hpp 中定义的,我在下面包含了哪些代码

#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
# define BOOST_LIB_NAME boost_regex
# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
# define BOOST_DYN_LINK
... more code

奇怪的是,当我指向 BOOST_LIB_NAME 时,它定义了 BOOST_LIB_NAME 并且 IntelliSense 错误消失了。

我的程序使用 Boost:Regex 库构建和执行良好——有或没有 Intellisense 错误;但是,我不明白为什么首先会出现这些 IntelliSense 错误,其次为什么指向 config.hpp 中的宏会定义 BOOST_LIB_NAME

任何指导将不胜感激。

谢谢,

杰米

最佳答案

C++ 的 Visual Studio IntelliSense 错误检查并不完美,经常报告 aren't 的错误really errors (这些是我发现并报告的三个误报的链接;不过它们与您的问题无关)。

关于c++ - 在 Visual Studio 2010 中 boost ,IntelliSense 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2991828/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com