下午好!
我目前正在进行最后一个项目,以关闭我的第一个学期的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文件才能正常运行?
非常感谢任何帮助=)
答案 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系统上)