繁体   English   中英

无法识别的调试选项:1 [默认启用]

[英]unrecognized debugging option: 1 [enabled by default]

我正在用C语言编写用于Windows和linux的跨平台gtk应用程序。今天,我在标题中遇到了奇怪的编译器错误(我从未见过)。

当我在Windows中而不是Linux中构建程序时,就会发生这种情况。 当我通过命令行在Windows中构建它时,此消息显示为警告,并且程序成功编译。 但是,当我在代码块中构建它时,此消息显示为错误,并且无法编译。

这是我的makefile中的内容:

ifeq ($(OS),Windows_NT)
    CC = mingw32-gcc
    BIN = "bin\"
    DIRCHK = if exist bin rd /s /q bin
    CPGLADE = copy main_win.glade bin\Release
    RM = rmdir /S /Q bin
    SQLITE = -dll sqlite3.dll
    DLL = copy /Y sqlite3.dll bin\Debug && copy /Y sqlite3.dll bin\Release
else
    CC = gcc
    BIN = -vp bin/
    RM = rm -rf bin
    SQLITE = -l sqlite3 -ldl -lpthread
    DLL = rm -f sqlite3.dll
endif

SHELL = bash

GTK := $(shell pkg-config --cflags --libs gtk+-3.0)

CFLAGS := -g -Wall -static-libgcc -lm $(GTK) $(SQLITE)

TARGET = deans2

all:
    $(DIRCHK)
    mkdir $(BIN)Debug
    mkdir $(BIN)Release
    $(CPGLADE)
    $(CC) main.c $(CFLAGS) -o bin/Release/$(TARGET)
    $(DLL)

Debug:
    $(DIRCHK)
    mkdir $(BIN)Debug
    $(CPGLADE)
    $(CC) main.c $(CFLAGS) -o bin/Debug/$(TARGET)
    $(DLL)

Release:
    $(DIRCHK)
    mkdir $(BIN)Release
    $(CPGLADE)
    $(CC) main.c $(CFLAGS) -o bin/Release/$(TARGET)
    $(DLL)

clean:
    $(RM)

您确定错误是unrecognized debugging option: 1吗? (第一名。)

也许是unrecognized debugging option: l (字母ell。)

我希望在Windows上进行SQLITE时, -dll设置的-dll标志会出现后者错误,因为这不是我所知道的gcc的有效标志。

您想在那里做什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM