Using CImg: LNK1181: cannot open file “m.lib” on w

2019-05-29 09:43发布

问题:

In the CImg Makefile I notice a flag "-lm" I think this points to the m.lib file. But for some reason it cannot find it during the Linking phase. I am compiling the code using the following command:

nvcc -o FilledTriangles FilledTriangles.cu -I.. -O2 -lm -lgdi32

"nvcc" is just the nvidia CUDA compiler. It should function similar to g++

回答1:

-lm refers to "libm.so"

In general, -lXYZ is a way of telling the linker that it should resolve the symbols in your compiled code against libXYZ.so (after locating it, usually in /usr/lib).