c++ - 使用 makefile 构建和运行时出现“运行时错误 2”
问题描述
我正在使用 SubLime Text3,我有 3 个文件:main.cpp、draft.cpp 和 Draft.h。最近,我尝试使用 makefile 来构建和运行它们,但运行时出现此运行时错误 2。我想知道我是否正确或错误地配置了makefile。 这是每个文件中的代码:
主文件
int main(){
int n,x;
cout << "Nhap so nguyen n: ";
cin >> n;
cout << "Nhap so nguyen x: ";
cin >> x;
cout << Cal(x,n);
return 0;
}
草稿.h
#ifndef _DRAFT_H_
#define _DRAFT_H_
#include <bits/stdc++.h>
using namespace std;
double Cal(int x,int n);
#endif
草稿.cpp
#include "draft.h"
double Cal(int x,int n){
double S,tu,mau;
S = 1; tu = x; mau = 1;
for (int i = 1; i <=n; ++i)
{
/* code */
tu =tu*x*x;
mau = mau*(2*i)*(2*i+1);
S += tu/mau;
}
return S;
}
生成文件.txt
# EXECUTABLES - DO NOT MODIFIED
CC = g++
RM = rm -f
MKDIR = mkdir -p
# PROJECT NAME - will be output executable name
PROJECT = helloworld
# BUILD TARGETS - change your compile flags here
BUILD_DEBUG = Debug
CFLAGS_DEBUG = -g
LFLAGS_DEBUG =
BUILD_RELEASE = Release
CFLAGS_RELEASE = -O2
LFLAGS_RELEASE = -s
# Add another build target here
# Switch your build target here
BUILD = $(BUILD_RELEASE)
CFLAGS = -Wall $(CFLAGS_RELEASE)
LFLAGS = $(LFLAGS_RELEASE)
# Output directories - DO NOT MODIFIED
OBJDIR = obj/$(BUILD)
EXEDIR = bin/$(BUILD)
DEPDIR = dep
EXE = $(EXEDIR)/$(PROJECT).exe
EXEWIN = bin/${BUILD}/$(PROJECT).exe
SOURCES = $(shell find -name "*.cpp")
DEPS = $(patsubst ./%,$(DEPDIR)/%,$(patsubst %.cpp,%.d,$(SOURCES)))
OBJS = $(patsubst ./%,$(OBJDIR)/%,$(patsubst %.cpp,%.o,$(SOURCES)))
$(DEPDIR)/%.d: %.cpp | $(DEPDIR)
$(CC) $(CFLAGS) -MM -MT '$(patsubst %.cpp,$(OBJDIR)/%.o,$<)' $< -MF $@
$(OBJDIR)/%.o: %.cpp $(DEPDIR)/%.d | $(OBJDIR)
$(CC) $(CFLAGS) -c $< -o $@
.PHONY: run build clean
$(OBJDIR):
$(MKDIR) $(OBJDIR)
$(DEPDIR):
$(MKDIR) $(DEPDIR)
$(EXEDIR):
$(MKDIR) $(EXEDIR)
run:
start cmd /k "${EXE} &echo &pause"
build: $(OBJS) | $(EXEDIR)
$(CC) $(OBJS) $(LFLAGS) -o $(EXE)
clean:
$(RM) $(EXE)
$(RM) $(OBJS)
-include $(DEPS)
解决方案
推荐阅读
- python - 为什么数据在 t-SNE 可视化中显示为线/圆而不是“球”?
- typescript - TouchableOpacity onPress() 只有一个按钮在工作
- c - 返回数组中的最大数
- unit-testing - Mockk:无法为方法调用指定答案
- jquery - 在不使用 Cookie 的情况下,使用 JQuery 下载带有加载器或进度表的 Excel 或其他二进制文件
- loops - 如何一次获取字符串的 4 个字符向后迭代
- apache-spark-sql - Databricks“外部输入需要EOF”错误
- c# - 更改 CollectionView EmptyView 文本颜色
- syntax - 阿格达:`.(` 是什么意思?
- python-3.x - %timeit 单独工作,但使用 .py 文件失败