刚刚下载了 unqlite.c 和 unqlite.h ,在Eclipse中创建了一个新项目,复制了unqlite.org网站中的一个示例和我&# 39;我收到以下错误:
21:37:51 **** Build of configuration Debug for project nosql ****
make all
Building file: ../main.cpp
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
In file included from ../main.cpp:49:0:
../unqlite.h:661:8: error: declaration of ‘pgno unqlite_page::pgno’ [-fpermissive]
pgno pgno; /* Page number for this page */
^
../unqlite.h:651:15: error: changes meaning of ‘pgno’ from ‘typedef sxu64 pgno’ [-fpermissive]
typedef sxu64 pgno;
^
subdir.mk:25: recipe for target 'main.o' failed
make: *** [main.o] Error 1
21:37:51 Build Finished (took 171ms)
它本来就是这么简单,但我不知道发生了什么......有没有人试过这个unqLite KV商店?
我正在使用
gcc版本4.9.2(Debian 4.9.2-10)
干杯
ttkdroid
答案 0 :(得分:2)
在C ++文件中包含unqlite.h并使用g ++编译时会出现此问题。你有两个解决方案来解决它:
pgno pgno; /* Page number for this page */
通过
::pgno pgno; /* Page number for this page */
哪个适用于g ++编译器以及其他C ++编译器。当然,您无法使用此编辑的头文件使用C编译器编译unqlite.c。
如果您想了解有关此错误的更多信息,可能是一个很好的链接:typedef changes meaning
祝你有个美好的一天!