x64 的 SQLite3.dll
Posted
技术标签:
【中文标题】x64 的 SQLite3.dll【英文标题】:SQLite3.dll for x64 【发布时间】:2017-03-06 10:32:34 【问题描述】:从下载 sqlite.org/download,他们为 x86 和 x64 提供 Precompiled Binaries for Windows。 因此,下载的是 .def 文件和 .dll 文件。 使用这两个文件,您可以创建 .lib 文件。 [命令:lib /def:yourfile.def /out:yourfile.lib]
在创建 .lib 文件并将其用作依赖项时,x86 一切正常。但是对于 x64,Visual Studio 显示错误:
LNK4272:库机器类型“X86”与目标机器类型“x64”冲突
还有其他人面临这个吗?
【问题讨论】:
为什么是 DLL?只需compile it into your application。 谢谢。还发现了我哪里出错了。在创建 .lib 文件时,我们应该使用以下命令: lib /def:sqlite3.def /machine:X64 /out:sqlite3.lib 我之前跳过了 /machine:X64 选项。 请把它写成答案。 【参考方案1】:找出我哪里出错了。
在创建 .lib 文件时,我们应该使用以下命令: lib /def:sqlite3.def /machine:X64 /out:sqlite3.lib
我之前跳过了 /machine:X64 选项。 最好看看命令提供的所有选项是什么。
示例: lib /?
输出将是:
usage: LIB [options] [files]
options:
/DEF[:filename]
/ERRORREPORT:NONE|PROMPT|QUEUE|SEND
/EXPORT:symbol
/EXTRACT:membername
/INCLUDE:symbol
/LIBPATH:dir
/LIST[:filename]
/LTCG
/MACHINE:ARM|ARM64|EBC|X64|X86
/NAME:filename
/NODEFAULTLIB[:library]
/NOLOGO
/OUT:filename
/REMOVE:membername
/SUBSYSTEM:BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|
NATIVE|POSIX|WINDOWS|WINDOWSCE[,#[.##]]
/VERBOSE
/WX[:NO]
【讨论】:
以上是关于x64 的 SQLite3.dll的主要内容,如果未能解决你的问题,请参考以下文章
判断指定进程是否为x64的方法(在ntdll判断某个x64函数是否存在)