c - Visual Studio 未解析的符号 _InterlockedCompareExchange

标签 c visual-studio-2012 sqlite

我正在将一些 C 代码从 GCC 移植到 Visual C++ 中,但在尝试将 SQLite3 添加为静态库时遇到了这个错误。

我已将 SQLite 编译为另一个 Visual Studio 项目,但是当我尝试在 Properties->Liner->"Additional Dependencies"中添加 sqlite3.lib 时,出现以下错误:

错误 LNK2001:未解析的外部符号 _InterlockedCompareExchange |文件 sqlite3.lib(sqlite3.obj)

好像是指this function ,但这有点让我头疼。

谢谢!

最佳答案

SQLite 的系统调用重定向机制尝试通过函数指针访问InterlockedCompareExchange。这不适用于 x64 架构,它是一个宏。

这在版本 3.8.6 中已修复([1][2])。

关于c - Visual Studio 未解析的符号 _InterlockedCompareExchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25192106/

相关文章:

c - GDB 回溯变量值

c - 如何让控制台不断提示用户输入,直到用户在 C 中输入正整数?

opengl - Qt 5.0.1 + Visual Studio 2012 + OpenGL

c# - 将 Firefox 中 Places.sqlite 文件中的日期转换为 DateTime

c - STM32F4 Discovery 的 USART 超时中断

c - GetModuleFileNameW 在当前模块上返回 Null

c# - foreach 语句给出错误

visual-studio-2012 - 升级到 VS 2012 Update 2 后无法通过 Resharper 运行 MSTest 单元测试

对作为输入子字符串的记录的 SQL 查询

perl - 如何在SQLite中使用限制