① vc6.0中,xx.h、xx.cpp和main.cpp一起怎么编译
依次点击菜单
工程project
添加到工程add to project
文件file
② 如何在编译main函数之后顺序编译其余cpp文件
在VS2010中的C++模块,我写了如下程序(简单还原):
第一步: 设定constant.cpp文件,用来定义一些全局变量和自定义函数;
第二步: 设定headline.h文件,用来声明在constant.cpp中定义的全局变量和自定义函数,同时定义了一些宏(类如PI);
第三步: 设定main.cpp文件,作为整个项目的主函数——int main();
第四步: 设定initial.cpp文件,作为整个项目的次函数1——void main();
第五步: 设定force.cpp文件,作为整个项目的次函数2——void force();
第六步: 设定integrate.cpp文件,作为整个项目的次函数3——void integrate();
③ C++编译时,是从哪一个cpp开始的,然后各cpp的编译顺序是如何定的
编译顺序由你在编译设置里决定
其实编译顺序并不重要
最终的连接过程是产生可执行文件的最终步骤,只要保证连接时所有的目标文件都存在就行了
比如一个小程序包括两个文件
//main.cpp
extern int a;
int main(void){
printf("%d\n",a);
a=5;
printf("%d\n",a);
}
//var.cpp
int a=2;
----
gcc -c main.cpp
gcc -c var.cpp//这两步可以换过来
gcc main.o var.o//这两个参数也可以换过来
输出
2
5
④ c++如何编译啊 ~
以linux系统为例:
1、在连网的情况下,在终端中使用root超级用户权限输入以下命令:
sudo apt-get install g++
并回车即可安装C++编译器g++。
2、安装完毕,即可开始新建我们的一个C++工程了。下面以一个hello工程为例,简单地介绍如何编译一个 C++工程。
3、登录Linux系统,打开终端,在当前目录下使用mkdir命令新建一个hello的目录;然后使用cd hello进入hello目录中,并使用vi工具新建hello.h、hello.cpp、main.cpp、makefile四个文件。四个文件的内容分别如下:
1. hello.h文件
#ifndef HELLO_H_
#define HELLO_H_
class Hello {
public:
void print();
};
#endif
2. hello.cpp文件
#include "hello.h"
#include <iostream>
using namespace std;
void Hello::print() {
cout<<"Hello, welcome to Redhat Linux os!"<<endl;
}
3. main.cpp文件
#include "hello.h"
#include <iostream>
using namespace std;
int main() {
Hello h;
h.print();
return 0;
}
注意:这三个文件要以空白行结束,否则编译时会有警告信息。
4. makefile文件
# this is a makefile of the c++ project hello
# the standard c++ compiler in the Redhat linux is g++
# written by young on June 27th, 2009
TARGET = .
CC = g++
CFLAGS = -g
CFLAGC = -c
MAINC = main.cpp
HELLO = hello.cpp
OBJ = hello.o
INCLUDE = -I$(TARGET)
EXEC = $(TARGET)/main
all: $(EXEC)
$(EXEC): $(OBJ) $(MAINC)
$(CC) $(CFLAGS) $(OBJ) $(MAINC) $(INCLUDE) -o $@
rm -f $(OBJ)
@echo "<<<<<< $@ is created successfully! >>>>>>"
$(OBJ): $(HELLO)
$(CC) $(CFLAGC) $(HELLO) -o $@
clean:
rm -f $(EXEC)
注意: makefile文件中的命令行(红色字体)一定要以Tab建开头,否则编译通不过。
写好makefile文件后,即可编译工程。在终端中输入make命令,回车后将显示如下信息:
g++ -c hello.cpp -o hello.o
g++ -g hello.o main.cpp -I. -o main
rm -f hello.o
<<<<<< main is created successfully! >>>>>>
这些信息说明工程已被正确编译,当前目录下将生成一个main的可执行文件。
同样,你也可以不使用makefile文件,而直接在终端上输入以下两行命令:
g++ -c hello.cpp -o hello.o
g++ -g hello.o main.cpp -I. -o main
也可以编译这个工程。
使用ls -l命令查看当前目录下的所有文件,确实有一个main文件。
在终端中输入./main,即可运行程序。
⑤ 如何编译没有main函数的C/CPP实现文件如何用连接器连接生成的.obj文件
加编译选项 -c (或 /c ), 各种编译器都有这种选项. 可用 -? , /?, /h 查玄询
⑥ 贪吃蛇游戏包含有main.cpp,snake.cpp,snake.h三个文件,要选择哪个文件在VC6编译和连接,步骤是什么
任意一个cpp文件编译,然后连接,或者直接连接,因为连接时会自动编译所有cpp文件。
⑦ Qt 上面的main.cpp文件如何转换为命令行编译程序
如果环境没有问题的话,在命令行执行 qmake 命令会生成makefile 文件,再执行make命令编译
⑧ 多个cpp文件如何一起编译
将函数的声明放到头文件,函数的定义放在cpp文件,之后再主函数中,将头文件包含进来,进行联编
⑨ 编译一个CPP文件时,出现这个错误怎么办
因为在工程编译的时候各个.cpp文件依次单独编译,最后才连接到一起,当在编译main.cpp文件时,看到main.cpp文件中有#include“2.cpp”文件时就把2.cpp中的内容和main.cpp一起编译生成main.obj文件。别忘了2.cpp文件也是.cpp文件也要单独编译,编译完2.cpp文件生成2.obj文件后。再将所有编译后的.obj文件连接到一生成.exe文件。这时就会发现2.obj中的内容main.obj中也有(因为main.cpp中#include“2.cpp”)。所以会出现重复定义的错误。
这时你可能又会想到把2.cpp文件改名为2.h在main.cpp文件中#include“2.h”不就行了。因为.h文件不会单独编译。确实是这样。将2.cpp改为2.h后不管工程目录中有没有添加2.h文件都可以。可是前面说了.h文件中最好只放声明。(不失为一个解决问题的办法)
extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示变压器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。
关于extern更详细的解释请看网络
所以我们只需这样:如果在1.cpp中要调用2.cpp中的函数,不要在1.cpp中#include“2.cpp”,只需在1.cpp中声明一下要调用的函数,并且声明前加关键字extern
⑩ G:\C++编译例子\00702\main.cpp(14) : error C2065: 'rea' : undeclared identifier
你可以同时编译链接这2个源程序,或先分别编译成 .obj 再链接。
假定你的 main 在 trangle.cpp 里
例如:
cl trangle.cpp circle.cpp
如果 main 在 第3 个文件里 ,你就 3 个 源程序 一起编译链接:
cl my_main.cpp my_triangle.cpp my_circle.cpp