我正在尝试使用sqlite3.c编译我的应用程序,但是收到了许多编译错误,所有这些错误都来自sqlite3.c。如果我使用动态链接而不是静态链接,它编译得很好。
此命令失败
g++ -std=c++11 main.cpp sqlite3.c -o main.exe -static -lws2_32 -static-libstdc++ -static-libgcc
虽然这个运行顺利
g++ -std=c++11 main.cpp -o main.exe -L./ -lsqlite3 -lws2_32 -static-libstdc++ -static-libgcc
我的命令行出了什么问题? 提前致谢
更新 下面是第一个和最后一个错误消息......大约有4900行!
sqlite3.c:29081:37: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]
sqlite3_snprintf(nBuf-18, zBuf, "%s/"SQLITE_TEMP_FILE_PREFIX, zDir);
....
....
....
sqlite3.c:122602:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
db->aDb[0].zName = "main";
^
sqlite3.c:122604:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
db->aDb[1].zName = "temp";
^
sqlite3.c: In function 'int sqlite3_open16(const void*, sqlite3**)':
sqlite3.c:122746:50: error: invalid conversion from 'const void*' to 'const char*' [-fpermissive]
zFilename8 = sqlite3ValueText(pVal, SQLITE_UTF8);
^