Gosmore在ubuntu 11.10上编译错误

时间:2011-12-27 01:46:23

标签: compilation openstreetmap mapnik

我想在ubuntu 11.10服务器上编译Gosmore。

我的源代码来自:

http://svn.openstreetmap.org/applications/rendering/gosmore/

当我尝试命令“make”命令时,我收到如下错误:

gcc -lm density.c -o density
/tmp/ccNQSatu.o: In function `main':
density.c:(.text+0x21f): undefined reference to `exp'
density.c:(.text+0x224): undefined reference to `atan'
density.c:(.text+0x2c3): undefined reference to `exp'
density.c:(.text+0x2c8): undefined reference to `atan'
density.c:(.text+0x5d3): undefined reference to `exp'
density.c:(.text+0x5d8): undefined reference to `atan'
density.c:(.text+0x67a): undefined reference to `exp'
density.c:(.text+0x67f): undefined reference to `atan'
density.c:(.text+0x723): undefined reference to `exp'
density.c:(.text+0x728): undefined reference to `atan'
density.c:(.text+0x793): undefined reference to `exp'
density.c:(.text+0x798): undefined reference to `atan'
collect2: ld returned 1 exit status
make: *** [jni/bboxes.c] Error 1

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

exp,atan,这些是在数学库中,它被称为libm.a,你用-lm链接到它,你做了但是顺序错误:gcc -lm density.c -o density是错误的,gcc density.c -lm -o密度是正确的。

我能够使用最新版本的gosmore重现您的问题,这是我的github副本中的补丁。

https://github.com/h4ck3rm1k3/gosmore/commit/67bd8e2dd7e76de47a31b3c3df1ab33b8fda797b

不要忘记积极的反馈! 谢谢 麦克