![GNU 科学库链接](https://linux22.com/image/25949/GNU%20%E7%A7%91%E5%AD%A6%E5%BA%93%E9%93%BE%E6%8E%A5.png)
我已经安装了 GNU 科学库(http://www.gnu.org/software/gsl/),它位于/home/usr/gsl-1.9
并安装了统计程序/home/usr/statprog
当我尝试编译它时,发生了以下情况:
$ cd home/usr/statprog
$ make
gcc -O3 -Wall -Wshadow -pedantic D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DVER32 -I/opt/local/include/ -L/opt/local/lib/ -c -o mlRho.o mlRho.c
gcc: error: D_GNU_SOURCE: No such file or directory
make: *** [mlRho.o] Error 1
它说没有这样的文件或目录。如何将 GNU 库链接到这个 statprog?
答案1
-
前面的命令少了一个破折号( ) D_GNU_SOURCE
。传递-D_GNU_SOURCE
给编译器相当于#define _GNU_SOURCE
在文件开头添加c
。
看起来好像已经Makefile
被损坏了。尝试
find . -type f -exec grep -lZ D_GNU_SOURCE {} + |
xargs -r0 perl -pi -e 's/-*D_GNU_SOURCE/-D_GNU_SOURCE/g'
并再次运行make
。然而,很可能是一些更根本的错误导致了这个错误的出现。