我真正想要的是构建GDal,但这需要PROJ,而这需要SQLite3。在构建时,这些都不是特别用户友好的。 4小时后,我被卡住了。到目前为止,我做了什么:
sqlite-amalgamation-3290000.zip
源sqlite-dll-win64-x64-3290000.zip
.exe和.dll mkdir build
和cd build
cmake -DSQLITE3_INCLUDE_DIR=D:\sqlite3\src -DSQLITE3_LIBRARY=D:\sqlite3\bin\sqlite3.dll ..
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中没有任何记录。 最佳答案
我也遇到了-PROJ文档在Windows部分中显示了Linux信息!
在适当的MSVC控制台中,从带有sqlite3.dll和sqlite3.def的目录运行:
lib /def:sqlite3.def
生成导入库,并将其作为SQLITE3_LIBRARY定义的cmake。
关于c++ - 无法在Windows上构建PROJ-sqlite3的链接器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57611051/