我发现我的应用程序的链接过程中存在问题.我对gcc 4.5没有相同的看法.它尝试将数学库与以下命令链接.
gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS -I../src// -I../ -I../src//src -DDEBUG -lmems_internals
Run Code Online (Sandbox Code Playgroud)
并报告以下错误按摩:
undefined reference to `sqrt'
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
最近的gcc/ld使用--as-needed链接器标志作为默认值.实际上,这意味着必须以与命令行相关的相反顺序指定库.如果mems_internals库需要sqrt函数,请在-lmems_internals之后使用-lm.
gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -L. -g -DASSERTS -I../src// -I../ -I../src//src -DDEBUG -lmems_internals -lm
Run Code Online (Sandbox Code Playgroud)