“制作” GRASS 时出现 main.c 错误

“制作” GRASS 时出现 main.c 错误

我使用 GRASS GIS 6.4.1 SVN 版本进行工作。我将代码保存在主目录内的一个目录中。今天我使用 svn up 命令更新了它,并使用以下命令进行了配置。

./configure --with-tcltk-includes=/usr/include/tcl8.5 --with-proj-share=/usr/share/proj --with-gdal=/usr/bin/gdal-config --with-cxx --enable-64bit --with-python=/usr/bin/python2.6-config

但是,我在 make 过程中的一个 d.rast 模块中遇到了一个错误。因此,按照指示,我切换到该目录并运行“make”命令。现在我得到了以下一堆错误。

chethan@chethan-desktop:~/Applications/grass64_release/display/d.rast$ make
gcc -I/home/chethan/Applications/grass64_release/dist.x86_64-unknown-linux-gnu/include  -g -O2       -DPACKAGE=\""grassmods"\"  -I/home/chethan/Applications/grass64_release/dist.x86_64-unknown-linux-gnu/include -o OBJ.x86_64-unknown-linux-gnu/main.o -c main.c
main.c: In function ‘main’:
main.c:89: error: ‘flag_n’ undeclared (first use in this function)
main.c:89: error: (Each undeclared identifier is reported only once
main.c:89: error: for each function it appears in.)
make: *** [OBJ.x86_64-unknown-linux-gnu/main.o] Error 1

我不知道为什么会出现这些错误。我现在该怎么办?

答案1

由于 SVN 开发分支中的代码经常会被破坏,因此您有两个选择:

  1. 查看 SVN 仓库的旧版本:,其中是最新有效的版本。svn checkout -r REVISION_NUMBER http://whatever/the/repo/isREVISION_NUMBER
  2. 自己修复它 - 如果您懂 C,这可能很简单。
  3. 再次更新签出的副本 - 也许它已经修复了!

答案2

这个错误意味着源代码有问题,可能是他们引入了未经测试或未完成的更改。当使用来自 SVN 的版本时,您必须做好准备,因为它可能会在开发过程中损坏。

相关内容