makefile为不工作的对象文件创建自己的目录
makefile to create own directory for object files not working
我是makefiles的新手,希望将所有对象文件保存在自己的目录中。我在谷歌上搜索了很多,找到了这个解决方案:
CXX = clang++
# compiler flags
CXXFLAGS = -O3 -Wall -Werror -std=c++11
CFLAGS_SFML = -lsfml-graphics -lsfml-window -lsfml-system
SRCS = getInput.cpp createOutput.cpp main.cpp
OBJDIR = obj
OBJS = $(addprefix $(OBJDIR)/, SRCS:.cpp=.o)
all: program.exe
program.exe: $(OBJS)
$(CXX) $(CXXFLAGS) -o program.exe $(OBJS) $(CFLAGS_SFML)
$(OBJDIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
当我尝试运行makefile时,我得到了这个错误:
makefile:12: *** target pattern contains no `%'. Stop.
这个错误似乎很常见,并没有详细说明问题所在。如果有人能帮我就太好了。
OBJS = $(addprefix $(OBJDIR)/, SRCS:.cpp=.o)
问题
试试这个。首先,您还必须创建obj目录。
CXX = clang++
# compiler flags
CXXFLAGS = -O3 -Wall -Werror -std=c++11
CFLAGS_SFML = -lsfml-graphics -lsfml-window -lsfml-system
SRCS = main.cpp
OBJDIR = obj
OBJS = $(addprefix $(OBJDIR)/, $(SRCS:.cpp=.o))
all: program.exe
program.exe: $(OBJS)
$(CXX) $(CXXFLAGS) -o program.exe $(OBJS) $(CFLAGS_SFML)
$(OBJDIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
有关更多信息,请使用此。
相关文章:
- 您应该在什么时候创建自己的异常类型
- 如何在C++中创建自己的循环版本?
- 如何在C++中创建自己的编译密钥
- 我正在尝试在视觉工作室上创建自己的库/源函数
- 创建自己的owner_ptr类;在传递堆栈或静态分配的地址时如何避免UB?
- 如何为C++映射创建自己的字符串比较对象
- (如何)在提升几何中创建自己的多边形类型并与之一起使用multi_polygon类型?
- 为什么要创建自己的自定义异常类
- 使用 const char * 与 char * 创建自己的字符串
- 创建自己的线性过滤器
- 如果不在派生类实现中执行此操作,"basic_streambuf"是否会创建自己的获取/放置区域?
- 在 C++ 中创建自己的错误处理机制
- 如何使用新字符串而不是分配器创建自己的字符串类型向量?
- 在C++中创建自己的运算符**?
- Windows:创建自己的杀死程序
- 创建自己的异常(2种方法)C
- 是否可以创建自己的QT注释
- 是否需要为C/C++中的文件I/O操作创建自己的缓冲区
- makefile为不工作的对象文件创建自己的目录
- 如何在Visual Studio c ++中创建自己的.lib文件