Ошибка компиляции Gosmore в Ubuntu 11.10 - PullRequest
0 голосов
/ 27 декабря 2011

Я хочу скомпилировать Gosmore на сервере Ubuntu 11.10.

Я получил исходный код от:

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 Ответ

1 голос
/ 19 апреля 2012

exp, atan, они находятся в математической библиотеке lib, она называется libm.a, вы ссылаетесь на нее с помощью -lm, что вы сделали, но в неправильном порядке: gcc -lm density.c -o плотность неверна , gcc density.c -lm -o плотность правильная.

Я могу воспроизвести вашу проблему с последней версией gosmore, вот патч в моей копии github.

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

не забудьте положительный отзыв! Спасибо микрофон

...