无法在windows上构建PROJ-sqlite3链接器错误

42fyovps  于 2023-03-23  发布在  SQLite
关注(0)|答案(1)|浏览(168)

我真正想要的是构建GDal,但这需要PROJ,需要SQLite3。当涉及到构建时,这些都不是特别用户友好的。4小时后,我卡住了。到目前为止我所做的:

  • 下载PROJ源码
  • 下载SQLite sqlite-amalgamation-3290000.zip源码
  • 下载sqlite-dll-win64-x64-3290000.zip .exe和.dll文件
  • 在PROJ目录mkdir buildcd build
  • 使用SQLite的预设路径运行CMAKE:
cmake -DSQLITE3_INCLUDE_DIR=D:\sqlite3\src -DSQLITE3_LIBRARY=D:\sqlite3\bin\sqlite3.dll ..
  • 然后运行build:cmake --build .
  • 编译成功但链接失败

错误:

Building Custom Rule D:/proj-6.1.1/test/unit/CMakeLists.txt
  main.cpp
  proj_errno_string_test.cpp
  Generating Code...
D:\sqlite3\bin\sqlite3.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x360 [
D:\proj-6.1.1\build\test\unit\proj_errno_string_test.vcxproj]

我不知道是什么问题。也许.dll不兼容?也许应该是.lib?这些都没有在PROJ中记录。

tjjdgumg

tjjdgumg1#

我也碰到了这个问题--PROJ文档在Windows部分显示Linux信息!
从相应MSVC控制台中的sqlite3.dll和sqlite3.def目录中运行:

lib /def:sqlite3.def

生成导入库,并将其作为SQLITE3_LIBRARY定义提供给cmake。

相关问题