ubuntu创建C++工程及Makefile

来源:互联网 发布:22周四维彩超正常数据 编辑:程序博客网 时间:2024/06/06 14:04

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

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

  1. 打开终端,在当前目录下使用mkdir命令新建一个example的目录
  2. 进入example目录下,创建两个目录src和include,分别存放源文件和头文件
  3. 在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目录下生成可执行文件,运行./可执行文件。

原创粉丝点击