g++ 使用-static 选项后出现 /usr/bin/ld: cannot find -lm
在linux下用C++写了一份很简单的Hello word
用g++ 直接生成是没问题。
$ldd myapp
linux-vdso.so.1 => (0x00007fff975fe000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f5c805e7000)
libm.so.6 => /lib64/libm.so.6 (0x00007f5c802e5000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5c800ce000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5c7fd0d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5c808f9000)
但我想静态链接,也就是说不要so, 然后加上了-static
然后错误就来了
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: 错误:ld 返回 1
--------------------------
gcc 版本 gcc (GCC) 4.8.5
OS:centos 7