You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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:添加全局预处理器定义

  1. 右键你的VS项目,选择「属性」
  2. 进入「配置属性」→「C/C++」→「预处理器」→「预处理器定义」
  3. 添加以下两个宏(多个宏用分号分隔):
    GLOG_NO_ABBREVIATED_SEVERITIES;GOOGLE_GLOG_DLL_DECL=
    
    (注:如果是静态链接glog,可省略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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:10:06