如何在Visual Studio 2022中编译不含SQLParser的Data_vs170.sln
解决POCO Data项目编译时依赖SQLParser的问题
方案1:直接修改Visual Studio项目配置
- 打开
Data_vs170.sln,选中Data项目右键打开属性面板 - 进入配置属性 → C/C++ → 常规,把附加包含目录里所有带
sql-parser的路径删掉 - 切换到预处理器 → 预处理器定义,添加
POCO_DATA_NO_SQL_PARSER宏——这个宏是POCO官方提供的,用来关闭Data模块对SQLParser的依赖 - 再去链接器 → 输入里,把所有和SQLParser相关的库引用(比如
SQLParser.lib)移除 - 保存配置后重新编译Data项目就行
方案2:用CMake重新生成不含SQLParser依赖的工程
如果你的VS工程是通过CMake生成的,直接重新配置CMake参数:
- 打开终端,进入POCO的构建目录,执行以下命令(根据你的VS版本和需求调整参数):
cmake -G "Visual Studio 17 2022" -DCMAKE_INSTALL_PREFIX=你的安装路径 -DPOCO_DATA_NO_SQL_PARSER=ON -DENABLE_DATA_ODBC=ON -DENABLE_CPPUNIT=ON -DENABLE_FOUNDATION=ON -DENABLE_XML=ON -DENABLE_JSON=ON -DENABLE_UTIL=ON -DENABLE_NET=ON -DENABLE_ZIP=ON .. - 重新生成VS解决方案后,再打开编译就不会依赖SQLParser了
方案3:手动修改Data模块源码(不推荐,除非前两种方法无效)
- 找到Data模块里引用
SQLParser.h的文件(比如src/SQLParser.cpp),用#ifdef POCO_DATA_NO_SQL_PARSER把相关代码包裹起来,或者直接注释掉 - 从Data项目的源文件列表里删除所有和SQLParser相关的文件
- 确保没有其他地方残留对SQLParser的引用后再编译
内容的提问来源于stack exchange,提问作者Eduardo Quintana
相关产品推荐
相关产品推荐

