gpt4 book ai didi

C++ 如何将我的主类与我的头文件链接起来?

转载 作者:行者123 更新时间:2023-11-30 00:47:11 26 4
gpt4 key购买 nike

这是最基本的,但我有一个带有函数原型(prototype)的头文件 Test.h。然后是一个带有函数定义的源代码文件,Test.cpp。最后,我有调用 Test.cpp 中的函数的 Main.cpp 文件。问题是我在 Main.cpp 中收到一个错误,指出 function1 未定义。你能看出我做错了什么吗?

测试.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;
}

main.cpp

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

int main(){

function1(5);
}

此外,在我添加 main() 函数之前,Test.cpp 无法编译。我的 Java 非常流利,这似乎与我的想法相矛盾。在 java 中,我只会有一个在我的主类中找到的主要方法。其他类有一个构造函数。请帮助我建立从 Java 到 C++ 的连接。

最佳答案

你必须告诉编译器它应该链接什么。

首先,删除test.cppmain()的定义,因为试图在全局中放置多个非静态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++ 如何将我的主类与我的头文件链接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35531739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com