Я работаю в C ++ / Ubuntu.
У меня есть:
libr.hpp
#ifndef LIBR
#define LIBR
#include <string>
using namespace std;
class name
{
public:
name();
~name();
std::string my_name;
std::string method (std::string s);
};
#endif
и
libr.cpp
#include <iostream>
#include <string>
#include <stdlib.h>
#include "libr.hpp"
using namespace std;
name::name()
{
}
std::string name::method(std::string s)
{
return ("YOUR NAME IS: "+s);
}
Из этих двух я создал libr.a
.
В test.cpp:
#include <iostream>
#include <string>
#include <stdlib.h>
#include "libr.hpp"
using namespace std;
int main()
{
name *n = new name();
n->my_name="jack";
cout<<n->method(n->my_name)<<endl;
return 0;
}
Я компилирую с g ++ и libr.a. У меня ошибка: "name :: name () undefined reference", почему?
Я хотел бы отметить, что я добавил в qt creator на qmake .a
. Когда я компилирую, у меня есть ошибка. Как я могу решить это?