Visual Studio C++控制台用vcpkg装glog报错,寻CMakeLists.txt位置及解法
解决Visual Studio非CMake项目中glog库的C1189编译错误
你遇到的Error C1189 #error: <glog/logging.h> was not included correctly错误,是因为glog库要求在包含头文件前必须定义特定预处理器宏,或者确保项目正确集成了vcpkg的配置。针对你使用的非CMake Visual Studio控制台项目,不需要修改vcpkg安装目录下的CMakeLists.txt,直接按以下步骤操作即可解决:
步骤1:添加全局预处理器定义
- 右键你的VS项目,选择「属性」
- 进入「配置属性」→「C/C++」→「预处理器」→「预处理器定义」
- 添加以下两个宏(多个宏用分号分隔):
(注:如果是静态链接glog,可省略GLOG_NO_ABBREVIATED_SEVERITIES;GOOGLE_GLOG_DLL_DECL=GOOGLE_GLOG_DLL_DECL=,vcpkg默认安装的是动态库版本)
步骤2:确认vcpkg集成生效
确保你已经在命令行运行过vcpkg integrate install,这条命令会让Visual Studio自动识别vcpkg安装的库的包含目录、库文件路径,无需手动配置附加包含目录和链接器输入。
可选:在代码中局部定义宏(不推荐全局配置时使用)
如果不想全局设置预处理器宏,也可以在每个包含glog头文件的代码开头先定义宏:
#define GLOG_NO_ABBREVIATED_SEVERITIES #define GOOGLE_GLOG_DLL_DECL= #include <glog/logging.h>
完成以上操作后重新编译项目,即可解决该错误。
内容的提问来源于stack exchange,提问作者ImTheBoss
相关产品推荐
相关产品推荐

