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

时间:2015-12-06 21:09:17

标签: c++

下午好!

我目前正在进行最后一个项目,以关闭我的第一个学期的C ++(以及一般的编程),我想知道如何正确链接实现,标题和主文件。目的是能够将它们作为这3个文件运行,而不是依赖于通过.project文件运行它们。

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

Cat.cpp

#include <iostream>
#include "Cat.h"

using namespace std;

void speak()
{
    cout << "meow" << endl;
}

void jump()
{
    cout << "meow?" << endl;
}

Cat.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文件),我在Cat.cpp上获得了“未定义的WinMain @ 16引用”,并且在speak()中获得了“未定义的引用”错误catMain.cpp上的jump()函数。这可能是一个问题的原因是因为我的教授可能不会像我一样运行Code :: Blocks来运行它,所以他必须能够运行这些独立文件而不是运行.project文件。

我可以做些什么来将它们链接在一起,以便它们不依赖于.project文件才能正常运行?

非常感谢任何帮助=)

1 个答案:

答案 0 :(得分:0)

要在没有IDE的情况下运行此C ++程序或任何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系统上)