安装sqlite c++库遇到的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/heraldww/article/details/102723119

安装sqlite c++库遇到的问题

编译环境,vs2017+64bit+MFC gui

问题1

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C1047
对象或库文件“D:\open_source\sqlite3\sqlite3pp-master\headeronly_src\sqlite3.lib”是使用比创建其他对象所用编译器旧的编译器创建的
;请重新生成旧的对象和库 SplitDemo D:_sync_work3\rst_DL_3win\SplitDemo\LINK 1
解决办法:Release模式下->属性->常规->项目默认值->全程序优化 将这里的默认项 “使用链接时间代码生成”改为“无全程序优化, 接下来就可以运行了。
原始文章link

问题2

严重性 代码 说明 项目 文件 行 禁止显示状态
警告 LNK4098 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library SplitDemo D:_sync_work3\rst_DL_3win\SplitDemo\LINK 1

这个是2个lib文件都定义了相同的函数导致的,需要屏蔽其中一个,解决办法如下:

原始文章
文章很长,我就不复制粘贴了

问题3

LNK4098 默认库 与其他库的使用冲突;请使用 /NODEFAULTLIB:library
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C1189 #error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version.
Please #define _AFXDLL or do not use /MD[d] SplitDemo c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\atlmfc\include\afx.h 24

VS2013运行MFC程序错误提示
LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

解决方法:
编译选项设置如下:

1、【项目】->【属性】->【配置属性】->【C/C++】->【代码生成】->【运行时库】,设置为“多线程DLL(/MD)

2、【项目】->【属性】->【配置属性】->【连接器】->【输入】->【忽略指定库】,输入:msvcrt.lib
或者:
【项目】->【属性】->【配置属性】->【连接器】->【命令行】,输入:/NODEFAULTLIB:msvcrt.lib

扫描二维码关注公众号,回复: 7577673 查看本文章

原始文章出处

猜你喜欢

转载自blog.csdn.net/heraldww/article/details/102723119