C ++未定义对`utils :: checkInputs的引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++未定义对`utils :: checkInputs的引用相关的知识,希望对你有一定的参考价值。

我决定尝试编写一个基本程序,但我不断收到此错误:

/tmp/cczXwiYT.o:在函数main': main.cpp:(.text+0xd8): undefined reference toutils :: checkInputs(std :: __ cxx11 :: basic_string,std :: allocator>,std :: __ cxx11 :: basic_string,std :: allocator>)'collect2:error:ld返回1退出状态

我是c +的新手(只是说)

我试图将类型从void更改为int到boolean等。

main.cpp中

#include <iostream>
#include <string>
#include <fstream>
#include "utils.h"

int main(){

    utils u;

    std::string a = "a";
    std::string b = "a";
    u.checkInputs(a,b);

    return 0;
}

utils.cpp

#include <iostream>
#include <string>
#include <fstream>

#include "utils.h"

using namespace std;

utils::utils(){};

void checkInputs(string userInput, string target){
    cout << "hey i work" << endl;
}

utils.h

#ifndef UTILS_H
#define UTILS_H

    #include <iostream>
    #include <string>
    #include <fstream>

    using namespace std;

class utils
{
    public:
        utils();
        void checkInputs(string userInput, string target);
};

#endif 

谢谢你的帮助=)

答案

感谢PaulSanders所说的所有人“Typo:将void void checkInputs ...改为utils.cpp中的void utils :: checkInputs ...”。它解决了我的问题就好了=)

以上是关于C ++未定义对`utils :: checkInputs的引用的主要内容,如果未能解决你的问题,请参考以下文章

对函数错误的未定义引用,同时使用 C 和 C++

c ++对静态库函数的“未定义引用”[重复]

c ++继承编译问题未定义对派生类的引用[重复]

OpenCV“对'cv :: imread'等C ++的未定义引用

将 Winsock2 添加到我的 MinGW-w64 C/C++ 会导致:未定义对“InitializeConditionVariable”的引用

C:尽管添加了 `-ldl` 标志,但未定义对 `dlopen`/`dlsym` 的引用