Ошибка компиляции Gosmore в Ubuntu 11.10

Я хочу скомпилировать 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 ответ

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

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

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

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

Другие вопросы по тегам