0

我想在 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

如何解决这个问题?

4

1 回答 1

1

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

我可以使用最新版本的 gosmore 重现您的问题,这是我的 github 副本中的一个补丁。

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

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

于 2012-04-18T21:57:33.777 回答