C 架构x86“U 64”的未定义符号_";

C 架构x86“U 64”的未定义符号_";,c,macos,64-bit,osx-lion,math.h,C,Macos,64 Bit,Osx Lion,Math.h,我在C项目中使用min()和max()函数时遇到问题。我已经导入了math.h,但是当我编译文件时,我一直得到以下错误(即使使用gcc而不是llvm,也会显示类似的错误): 我认为问题在于没有64位的数学库。。。或者编译器找不到它。我正在使用MacOSX10.7。如何解决此问题?尽管我可以看到libSystem.dylib中定义的“min”,但我认为没有导出的标题。就包含文件而言,我不知道“_min”从何而来 通常,“min”指的是宏或您自己的函数 如果你看math.h,里面有一些“min”类型

我在C项目中使用min()和max()函数时遇到问题。我已经导入了math.h,但是当我编译文件时,我一直得到以下错误(即使使用gcc而不是llvm,也会显示类似的错误):

我认为问题在于没有64位的数学库。。。或者编译器找不到它。我正在使用MacOSX10.7。如何解决此问题?

尽管我可以看到libSystem.dylib中定义的“min”,但我认为没有导出的标题。就包含文件而言,我不知道“_min”从何而来

通常,“min”指的是宏或您自己的函数


如果你看math.h,里面有一些“min”类型的函数,但它们是用于浮点和双精度的。如果您只是处理整数或自定义类型,请滚动您自己的函数。

那么我必须编写什么?gcc main.c不工作。。。写gcc-lm main.c都不是…你是如何构建你的应用程序或工具的?它是一个生成文件还是仅仅从命令行编译?编辑了我的答案。我认为您需要使用“
fmin
”或编写自己的min函数。
    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)