如何从命令行编译和 link 多个文件?
How do I compile and link multiple files from the command line?
我曾经使用 visual studio 作为 C++ 的编译器。我最近一直在 cygwin 中使用 g++。我的问题是我不知道如何使用 cygwin 进行继承。下面的代码只是为了说明,让我的问题更清楚。
基地class:
// A.h:
class A{
void func1();
};
class B:A{
func2();
};
//-------------
//A.cpp:
#include"A.h";
A::func1(){
};
//-----------
//B.cpp:
#include"A.h";
B::func2(){
func1();
};
int main(){
B b.
b.func2();
return 0;}
//----------------
我运行(类似)这个在visual studio没有任何问题。但我不知道如何在 cygwin 中 运行 它。如何将 A.h 、 A.cpp 包含到 B.cpp.
中的 运行 main()
您需要先将 class 实现文件编译成目标文件,然后 link 它们。
如果您要使用 g++ compiler,您可以 运行 这些命令...
g++ -c A.cpp
g++ -c B.cpp
g++ A.o B.o main.cpp -o my_program
这可以通过 Makefile, so you don't have to type everything out. As others have mentioned GDB 自动执行,也可用于调试,但您需要将“-g”选项添加到编译器标志以创建调试符号。
此外,您在 main 函数的第 1 行末尾有一个句点,而不是分号。
了解 makefile...或在命令行中键入此内容
g++ -Wall -c -g -o A.o A.cpp
g++ -Wall -c -g -o B.o B.cpp
g++ -o myProgram.exe A.o B.o
您需要将两个 cpp 文件编译为目标文件,然后 link 它们一起编译。
我希望你使用 g++ 并且它在 PATH 中。
注:
- 我使用 -g 生成了 "debug" 个文件
- 我使用 -Wall 来显示所有警告(黄金法则:修复警告)
我曾经使用 visual studio 作为 C++ 的编译器。我最近一直在 cygwin 中使用 g++。我的问题是我不知道如何使用 cygwin 进行继承。下面的代码只是为了说明,让我的问题更清楚。
基地class:
// A.h:
class A{
void func1();
};
class B:A{
func2();
};
//-------------
//A.cpp:
#include"A.h";
A::func1(){
};
//-----------
//B.cpp:
#include"A.h";
B::func2(){
func1();
};
int main(){
B b.
b.func2();
return 0;}
//----------------
我运行(类似)这个在visual studio没有任何问题。但我不知道如何在 cygwin 中 运行 它。如何将 A.h 、 A.cpp 包含到 B.cpp.
中的 运行 main()您需要先将 class 实现文件编译成目标文件,然后 link 它们。
如果您要使用 g++ compiler,您可以 运行 这些命令...
g++ -c A.cpp
g++ -c B.cpp
g++ A.o B.o main.cpp -o my_program
这可以通过 Makefile, so you don't have to type everything out. As others have mentioned GDB 自动执行,也可用于调试,但您需要将“-g”选项添加到编译器标志以创建调试符号。
此外,您在 main 函数的第 1 行末尾有一个句点,而不是分号。
了解 makefile...或在命令行中键入此内容
g++ -Wall -c -g -o A.o A.cpp
g++ -Wall -c -g -o B.o B.cpp
g++ -o myProgram.exe A.o B.o
您需要将两个 cpp 文件编译为目标文件,然后 link 它们一起编译。 我希望你使用 g++ 并且它在 PATH 中。
注:
- 我使用 -g 生成了 "debug" 个文件
- 我使用 -Wall 来显示所有警告(黄金法则:修复警告)