ubuntu创建C++工程及Makefile

xiaoxiao2021-02-28  12

将一段代码移植到Linux并进行调试

首先,你必须有一个Linux开发环境,这样才能进行C++开发。笔者用的是安装在虚拟机中的Ubuntu 9.04,Ubuntu操作系统是没带C++编译器g++。在连网的情况下,在终端中使用root超级用户权限输入以下命令: sudo apt-get install g++ 并回车即可安装C++编译器g++ 创建工程如下:

打开终端,在当前目录下使用mkdir命令新建一个example的目录进入example目录下,创建两个目录src和include,分别存放源文件和头文件在example目录下vi编写Makefile,Makefile如下:

TARGET=. CC=g++ CFLAGS=-g CFLAGC=-c MAINC=$(TARGET)/src/windsat_example_usage.cpp

WINDSAT=$(TARGET)/src/dataset.cpp

WINDSAT_AVERAGED=$(TARGET)/src/windsat_averaged.cpp OBJ1=dataset.o OBJ2=windsat_averaged.o

INCLUDE = -I$(TARGET)/include

EXEC=$(TARGET)/windsat_example_usage

all:$(EXEC)

$$(EXEC):$(OBJ1) $(OBJ2) $(MAINC)(去掉最前面的$) [tab] $(CC) $(CFLAGS) $(OBJ1) $(OBJ2) $(MAINC) $(INCLUDE) -o $@ [tab]rm -f $(OBJ1) $(OBJ2) [tab]@echo “$@ is created successfully!” $(OBJ2):$(OBJ1) $(WINDSAT_AVERAGED) [tab]$(CC) $(CFLAGC) $(WINDSAT_AVERAGED) $(INCLUDE) -o $@ $(OBJ1):$(WINDSAT) [tab]$(CC) $(CFLAGC) $(WINDSAT) $(INCLUDE) -o $@ clean: [tab]rm -f $(EXEC) 注意: makefile文件中的命令行([tab])一定要以Tab建开头,否则编译通不过。 4. 写好makefile文件后,即可编译工程。在终端中输入make命令,我的Makefile一开始出错,$(OBJ2):$(OBJ1) $(WINDSAT_AVERAGED) [tab]$(CC) $(CFLAGC) $(WINDSAT_AVERAGED) $(INCLUDE) -o $@ $(OBJ1):$(WINDSAT) [tab]$(CC) $(CFLAGC) $(WINDSAT) $(INCLUDE) -o $@ 我没有加$(INCLUDE) 变量,以至于头文件找不到 5. 在example目录下生成可执行文件,运行./可执行文件。

转载请注明原文地址: https://www.6miu.com/read-200399.html

最新回复(0)