在qmake项目中编译sqlite时出错
Error compiling sqlite in qmake project
很久以前,我将sqlite3.c文件添加到我的qmake项目中,并使用msvc-2013和gcc-5.2 64位编译器成功编译了这个项目数月。
然而,当我最近尝试重新编译这个项目时,它成功地编译了所有文件,但sqlite3.c文件除外!!!它给了我奇怪的错误信息:
cl-c-nologo-Zc:wchar_t-FS-Zc:strictStrings-Zi-MDd-W3-w44456-w44457-w44458/Fddebug\Builder3d.pdb-DUNICODE-DWIN32-DWIN64-DVL_PLATFORM_WINDOWS=1-DVL_OPENGL=1-DUNICODE=1-DNOMINMAX-DUSE_MATH_DEFINES-DSCL_SECURE_NO_WARNINGS-DPROTOBUF_USE_DLLS-DB3D_DEBUG-DQT_GUI_LIB-DQT_SQL_LIB-DDQT_WEBSOCKET S_LIB-DQT_NETWORK_LB-DQT_CORE_LIB-I。。\Builder3d-I-I..\libs\c3d\v98099\Win64_Visal_Studio_2013_Unicode\Include-I。。\libs-I。。\libs\protobuf\cmake\build\debug\include-ID:\Qt\5.7\msvc2015_64\include\QtGui-ID:\ Qt\5.7 \msvc2015._64\include\QtANGLE-ID:\Q t\5.7 \ msvc2015_64\include \QtSql-ID:\ Q t\5.7\ msvc2015.64\includ\QtWebSockets-ID:\ Qt\ 5.7 \msvc2015_64\ includ\ QtNetwork-ID:\ Qt\5.7 \msvc2015_64 \include\QtCore-Idebug-ID:\Qt\5.7\msvc2015_64\mkspecs\win32-msvc2015-Fodebug@C: \Users\Rem\AppData\Local\Temp\sqlite3.obj.20112.0.jomsqlite3.c
D:\Qt\5.7\msvc2015_64\include\QtCore/qnamespace.h(53):错误C2143:语法错误:在"*"之前缺少"{">
D:\Qt\5.7\msvc2015_64\include\QtCore/qnamespace.h(68):错误C2061:语法错误:标识符'Qt'
D:\Qt\5.7\msvc2015_64\include\QtCore/qnamespace.h(68):错误C2059:语法错误:";">
D:\Qt\5.7\msvc2015_64\include\QtCore/qnamespace.h(68):错误C2449:在文件作用域找到"{"(缺少函数头?)
因此,当编译sqlite3.c时,它会从qt库中给我带来大量错误,尽管sqlite3.c中没有任何错误!!!
PS:我能想到的计算机配置中唯一的变化是在安装VS更新后更新到MSVC编译器工具链。
PPS:我的项目被配置为使用msvc2013&问题5.5。错误发生后,我尝试使用msvc2015&问题5.7,但问题依然存在。
我可以肯定发生的是includes的"交叉"。
从您列出的内容来看,sqlite3.c的编译使用了大量的"-Ipath_to_qt",因此传播了qt头的include路径。
然后,例如,sqlite3.c包含config.h来读取sqlite应该如何配置的选项。当然还有另一个config.h来自某个qt-include文件夹,这个config.h为qt带来了引用/子包含。
- 查询SQLite数据库中的日期
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 带内存和隔离功能的SQLite
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 分段错误当我试图运行程序时出错
- 使用dynamic_cast和构造函数时出错
- CHECK(调用)函数在Google Colab中出错
- 用pybind11包装C++抽象类时出错
- 使用 SQlite 在 QT5 上关闭和打开数据库时出错
- 使用 c++ 生成器编译 sqlite 数据库时出错 5.
- Sqlite 插入时出错
- 在qmake项目中编译sqlite时出错
- 使用 C++ 打开 SQLite 数据库时出错