【问题标题】:g++ unrecognized debug output level 'db' error while compilingg ++编译时无法识别的调试输出级别'db'错误
【发布时间】:2021-02-02 02:24:40
【问题描述】:

我正在尝试使用一些开源程序,我输入了“制作数据”来创建“数据”文件,但它创建了以下错误响应

<stdin>:3:6: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]  
mpicxx -o data data.o -l/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/include -l/usr/include -l/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/include -g -gdb -MMD -MP -L//lib -L/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/lib -L/usr/lib64 -L/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/lib -L./ -lpthread -lrt -lstdc++ -lX11 -lpetsc -lHYPRE -lblas -llapack -lgfortran -g -ldl  
g++: error: unrecognized debug output level ‘db’  
make: *** [makefile:128: data] Error 1

'makefile'中关于数据的相应部分是

data: tests tecplottest data.o  
$(LIBFLAG) $(LIBTECPLOT)
    $(MPICXX) -o data data.o -l$(PETSCINC) -l$(TECINC) -l$(HYPREINC) -g -gdb -MMD -MP $(LIBDIR) $(LIBFLAG) $(LIBTECPLOT)

我猜这个错误可能是因为g++编译器以错误的方式识别'gdb',但我不知道为什么以及如何解决这个问题

谢谢

【问题讨论】:

    标签: makefile gdb g++


    【解决方案1】:

    -gdb 不是有效的 GCC 参数,而这正是错误告诉您的内容。

    请改用-ggdb

    更新:

    /usr/bin/ld: cannot find -l/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/include

    Makefile是你自己写的吗?

    这是错误的:... -l$(PETSCINC) -l$(TECINC) -l$(HYPREINC) ...

    所有这些-ls 都应改为-Is:... -I$(PETSCINC) -I$(TECINC) -I$(HYPREINC) ...

    更新2:

    实际上,由于这是一个链接命令,并且这里没有遵循任何来源,所有这些:-I$(PETSCINC) -I$(TECINC) -I$(HYPREINC) 应该被删除(仅来自链接命令)。

    【讨论】:

    • 谢谢!错误消失了!但是,它返回新消息 /usr/bin/ld: cannot find -l/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/include /usr/bin/ld: cannot find -l/usr/include /usr/bin/ld: 找不到 -l/home/songyi719/Desktop/Research/petsc-3.1-p6/installation_folder/include collect2: 错误: ld 返回 1 退出状态 make: *** [makefile:128: data]错误1如何解决?
    • @songyi719 我再次更新了答案,有了更好的修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2020-04-04
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多