gpt4 book ai didi

c++ - 意外标记附近的语法错误 `newline'

转载 作者:行者123 更新时间:2023-11-28 08:05:42 26 4
gpt4 key购买 nike

在使用 Makefile 编译一些代码后,我在尝试运行它时得到了这个:

$ ./libbookgui.a
./libbookgui.a: line 1: syntax error near unexpected token `newline'
./libbookgui.a: line 1: `!<arch>'

Makefile 包含以下内容。

INCLUDES = -I"$(FLTK)"
LIBS = -lstdc++
CXXFLAGS = $(INCLUDES) -Wall -time -O3 -DNDEBUG -Wno-deprecated
LIBFLAGS =
AR = ar

.SUFFIXES: .cpp .o

# Create a list of source files.
SOURCES = $(shell ls *.cpp)
# Create a list of object files from the source file lists.
OBJECTS = ${SOURCES:.cpp=.o}
# Create a list of targets.
TARGETS = libbookgui.a

# Build all targets by default
all: $(TARGETS)

%.a: $(OBJECTS)
$(AR) rcs $@ $(OBJECTS)

# A rule to build .o file out of a .cpp file
%.o: %.cpp
$(CXX) $(CXXFLAGS) -o $@ -c $<

# A rule to clean all the intermediates and targets
clean:
rm -rf $(TARGETS) $(OBJECTS) *.out *.stackdump

我看到它有 TARGETS = libbookgui.a 行,编译器没有返回任何错误,它只是创建了 .a 文件。

有什么想法吗?

最佳答案

libbookgui.a 是一个静态库(其中聚合了多个目标文件)。

您应该运行可执行文件,而不是库。将此库链接到某个可执行文件并运行那个

我建议你阅读 this article .

关于c++ - 意外标记附近的语法错误 `newline',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com