unqlite.h:651:15: error: changes meaning of ‘pgno’ from ‘typedef sxu64 pgno’ [-fpermissive]
unqlite.h:651:15: error: changes meaning of ‘pgno’ from ‘typedef sxu64 pgno’ [-fpermissive]
刚刚下载了unqlite.c和unqlite.h,在Eclipse中新建了一个工程,复制其中一个来自 unqlite.org 网站的示例,我收到以下错误:
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
在 C++ 文件中包含 unqlite.h 并使用 g++ 编译它时会出现此问题。您有两种解决方案来修复它:
- 您可以获得库作者制作的补丁,如下所示:https://github.com/symisc/unqlite/issues/24
- 或者您可以编辑 unqlite.h 文件的第 661 行替换:
pgno pgno; /* Page number for this page */
来自
::pgno pgno; /* Page number for this page */
它将与 g++ 编译器以及其他 C++ 编译器一起工作。当然,你不能用 C 编译器用这个编辑过的 header 编译 unqlite.c。
如果您想了解有关此错误的更多信息,这可能是一个不错的选择 link:typedef changes meaning
祝你有个愉快的一天!
刚刚下载了unqlite.c和unqlite.h,在Eclipse中新建了一个工程,复制其中一个来自 unqlite.org 网站的示例,我收到以下错误:
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
在 C++ 文件中包含 unqlite.h 并使用 g++ 编译它时会出现此问题。您有两种解决方案来修复它:
- 您可以获得库作者制作的补丁,如下所示:https://github.com/symisc/unqlite/issues/24
- 或者您可以编辑 unqlite.h 文件的第 661 行替换:
pgno pgno; /* Page number for this page */
来自
::pgno pgno; /* Page number for this page */
它将与 g++ 编译器以及其他 C++ 编译器一起工作。当然,你不能用 C 编译器用这个编辑过的 header 编译 unqlite.c。
如果您想了解有关此错误的更多信息,这可能是一个不错的选择 link:typedef changes meaning
祝你有个愉快的一天!