gpt4 book ai didi

c++ - Makefile C++11 - 编译成静态库

转载 作者:行者123 更新时间:2023-11-28 07:30:52 25 4
gpt4 key购买 nike

我正在尝试将我的源文件编译为静态库,但是,它似乎并不想工作。这是代码:

#-----------------------------------------------------------------------------
# Usage of make file
#-----------------------------------------------------------------------------
# Clean operation:
# make -f MakeClient clean
#
# Make operation:
# make -f MakeClient
#
#


#OBJ = $(SRC:.cpp=.o)
OBJ_DIR = ./obj

OUT_DIR= ../lib
OUT_FILE_NAME = libclient.a

# include directories
INCLUDES=-I. -I../common -I../../depends -I../../depends/zlib

# C++ compiler flags (-g -O2 -Wall)
CXXFLAGS := -Wall -Wextra -pedantic-errors -std+c++0x

# compiler
CCC = g++


# Enumerating of every *.cpp as *.o and using that as dependency
$(OUT_FILE_NAME): $(patsubst %.cpp,$(OBJ_DIR)/%.o,$(wildcard *.cpp))
$(CCC) -o $(OUT_DIR)/$@ $^ -static $(LIB_DIR) $(LIBS) -std=c++11

#Compiling every *.cpp to *.o
$(OBJ_DIR)/%.o: %.cpp dircreation
$(CCC) -c $(INCLUDES) $(CCFLAGS) -o $@ $<

dircreation:
@mkdir -p $(OUT_DIR)
@mkdir -p $(OBJ_DIR)

.PHONY : clean
clean:
rm -f $(OBJ_DIR)/*.o $(OUT_DIR)/$(OUT_FILE_NAME) Makefile.bak

问题似乎是认识到我正在使用 C++11,因为实际代码无法编译。

有什么想法吗?

最佳答案

CCFLAGS 替换为 CXXFLAGS,反之亦然。

标志拼写为 -std=c++0x(感谢@Pixelchemist)。

关于c++ - Makefile C++11 - 编译成静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756963/

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