Makefile C++11-编译为静态库
Makefile C++11 - Compiling to static library
我正试图将我的源文件编译到一个静态库中,但它似乎不起作用。这是代码:
#-----------------------------------------------------------------------------
# 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
(谢谢,@Pixelchemister)。
相关文章:
- 如何使用MinGW编译器和SSL支持静态编译Qt
- 静态编译的Qt 5.13.1与OpenSSL 1.1.1d生成QSslSocket::connectToHostEncr
- Qt 静态编译无法读取路径
- 如何静态编译QT 5应用程序
- QT 静态库静态编译
- 静态编译 GRPC C++服务
- 是在同一体系结构上运行的静态编译的纯标准C 程序可移植
- 全局(静态编译的)变量位于哪里
- Ubuntu上的OpenCv静态编译
- 在Linux上静态编译osgconv,并支持obj文件
- 依赖VS2010中静态编译的库时未定义的符号
- 使用libcef_static.lib静态编译Chromium Embedded 3项目
- 在AIX上对proftpd进行静态编译
- 参考off64_t,在mingw下Qt 5的静态编译失败
- 是否可以在静态编译时从不同的源文件构建向量
- 使用boost::regex链接为静态编译我的项目
- 如何静态编译boost_iostreams
- QT创建者和xcode静态编译
- C++与GLUT在linux上静态编译
- 静态编译会破坏ABI吗?