C++将项目作为独立文件运行,而不是作为Code::Blocks项目运行



下午好!

我目前正在做一个期末项目,以结束我的C++第一学期(以及一般编程),我想知道如何正确地链接实现、头文件和主文件。其目的是能够将它们仅作为这3个文件运行,而不是依赖于通过.project文件运行它们。

这是我正在做的项目的一个例子:

Cat.cpp

#include <iostream>
#include "Cat.h"
using namespace std;
void speak()
{
    cout << "meow" << endl;
}
void jump()
{
    cout << "meow?" << endl;
}

类别h

#ifndef CAT_H
#define CAT_H
void speak();
void jump();
#endif // CAT_H

CatMain.cpp

#include <iostream>
#include "Cat.h"
using namespace std;
int main()
{
    speak();
    jump();
    return 0;
}

这里的问题是,当我单独打开这些文件时(不打开.project文件),我会得到"对WinMain@16"和CatMain.cpp上的speak()和jump()函数的"未定义引用"错误。这可能是一个问题的原因是,我的教授可能没有代码::块来以与我相同的方式运行它,所以他必须能够运行这些独立文件,而不是运行.project文件。

我能做些什么把它们链接在一起,这样它们就不会依赖于.project文件来正常运行吗?

如有任何帮助,我们将不胜感激=)

要在没有IDE的情况下运行此程序或任何C++程序,只需要在命令行上提供一个C++编译器。(您可能必须将环境变量设置为编译器的路径,才能在命令行上使用它)

要编译和运行代码,可以在命令行上运行以下命令。(假设使用GCC或MinGW等编译器,使用命令g++编译C++)

g++ -c Cat.cpp(生成用于实现Cat.cpp和Cat.h的.o对象文件)

g++ CatMain.cpp Cat.o(将主函数编译为可执行文件,并将Cat.o链接到它)

a(在windows cmd中)

./a.out(在*nix系统上)

最新更新