我在C项目中使用min()和max()函数时遇到问题。我已导入math.h,但是当我编译文件时,我不断收到以下错误(即使使用gcc而不是llvm,也会显示类似的错误):
Undefined symbols for architecture x86_64:
"_min", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我认为问题是没有64位的math.h库或者编译器找不到它。我正在使用Mac OS X 10.7。我该如何解决这个问题?
答案 0 :(得分:1)
即使我可以在libSystem.dylib中看到“min”,我也不认为有一个导出的标题。而且我无法弄清楚“_min”从包含文件的位置进入的位置。
通常使用宏或使用自己的函数来引用“min”。 Check out this very related question somebody else asked a while back.
如果你查看math.h,那里有一些“min”类型的函数,但它们用于浮点数和双精度数。如果您只是使用整数或自定义类型,请滚动自己的函数。