C++如何将我的主类与我的头文件链接起来
C++ how can I link my main class with my header file?
这是最基本的,但我有一个带有函数原型的头文件 Test.h。然后是包含函数定义 Test.cpp 的源代码文件。最后,我有我的 Main.cpp 文件,该文件在 Test.cpp 中调用该函数。问题是我在 Main 中收到一个错误.cpp指出函数 1 未定义。你能看出我做错了什么吗?
测试.h
int function1(int);
测试.cpp
#include "Test.h"
#include <iostream>
int main(){
}
int function1(int i){
std::cout << "fuction1(" << i << ")" << std::endl << "Returns: 1" << std::endl;
return 1;
}
主.cpp
#include <iostream>
#include "Test.h"
int main(){
function1(5);
}
另外 Test.cpp 直到我添加了一个 main() 函数才编译。我精通Java,这似乎与我的想法相矛盾。在java中,我只有一个主方法,可以在我的主类中找到。其他类具有构造函数。请帮助我建立从java到c ++的连接。
你必须告诉编译器它应该链接什么。
首先,删除test.cpp
中main()
的定义,因为尝试将多个非静态main()
放在一个可执行文件的全局命名空间中将导致链接错误。
然后,正确使用编译器。例如,如果您使用 GCC,
g++ -o Main Main.cpp Test.cpp
或
g++ -c -o Main.o Main.cpp
g++ -c -o Test.o Test.cpp
g++ -o Main Main.o test.o
相关文章:
- 我的文件无法正常工作,无法从C++文件中读取上下文
- 将内容从第一个文件("constituencies")移动到第二个文件("temp")并在之后重命名时,我的文件被删除
- 为什么URLDownloadToFile()没有下载我的文件
- 使用Cygwin C++时出现未定义的引用错误,为什么我的文件没有链接?
- C++ while 循环没有从我的文件中读取 -1
- 这是我的 .h 文件的一些错误,当我在其中包含我的类模板时,它显示 [错误] 未终止 #ifndef
- 为什么我的".a"文件中的所有符号值都是 0
- 不会在登录名中读取C++我的文件
- 使用 c++ 将我的文件拆分为 128 个字节
- 我的C++文件期望用'while'代替 if。最后,它预计会出现'('
- 为什么当我写入文件时,结构在我的文件中消失了
- 视觉C++为什么我的文件在重新启动程序时被截断?
- 我的文件可以编译,但当我尝试运行它时"no such file or directory"
- 在Ostream上使用std :: endl使我的文件二进制
- 无法使用名称空间,也不能在我的.h文件中包含标准的C 库
- 为什么我的文件/目录操作在Windows上工作正常,但在Linux上不能
- 我的C文件是从Pro*C生成的吗
- C++11 fgetc 在"r+b"模式下使用时向我的文件输出 0
- Qt Android:如果我写信给"./myfile.txt",我的文件在哪里?
- 我的C++文件中是否有可能的内存泄漏