2015-03-03 4 views
0

Я использую Geany для программирования на C. Когда я пытаюсь построить файл, он дает мнеundefined ссылка на sqrt (geany)

error:undefined reference to sqrt. 

Compile: gcc -Wall -c "%f"

Сложение: gcc -Wall -o "%e" "%f"

Execute: ./%e

Я пытался добавить -lm в команду сборки, но затем его дает мне

gcc error:no such file or directory.Compilation Failed. 
+1

'#include '. Поместите это поверх кода ur. – ForceBru

+2

Пожалуйста, добавьте '-lm' в команду сборки. –

+0

@ForceBru Я уже это сделал. –

ответ

3

Параметры компилятора и компоновщика с аргументами должны быть раздельными, вы не можете их компилировать, как вы.

Сделайте их отдельными, например,

gcc -Wall -o "%e" "%f" -lm 
+0

Спасибо. Это решило проблему. –

+0

Но что именно делает команда -lm? –

+0

@MarvinMicek Опция '-l' (маленькая буква L) сообщает компоновщику ссылку на библиотеку, в этом случае библиотеку, называемую' m', которая является математической библиотекой. –

Смежные вопросы