Ошибки при использовании функций из dll

85
11 сентября 2021, 03:40

У меня есть своя dll библиотека, где .h файл:

// StringAPI.h
#ifdef STRINGLIBRARY_API
#define STRINGLIBRARY_API __declspec(dllexport)
#else
#define STRINGLIBRARY_API __declspec(dllimport)
#endif
class STRINGLIBRARY_API String
{
/* ... */
public:
    STRINGLIBRARY_API friend String operator+(const String& lhs, const String& rhs);
    STRINGLIBRARY_API friend String operator+(const String& lhs, char c);
    friend bool operator>(const String& lhs, const String& rhs);
    friend bool operator>=(const String& lhs, const String& rhs);
    friend bool operator<(const String& lhs, const String& rhs);
    friend bool operator<=(const String& lhs, const String& rhs);
    friend bool operator==(const String& lhs, const String& rhs);
    friend bool operator!=(const String& lhs, const String& rhs);
    STRINGLIBRARY_API friend std::ostream& operator<<(std::ostream& stream, const String& str);
    STRINGLIBRARY_API friend String& operator>>(std::istream& stream, String& str);
};

У меня не получается добавить STRINGLIBRARY_API другим friend функциям. Почему? И из-за этой проблемы я не могу использовать эти методы там, куда я подключаю эту библиотеку. Например:

// main.c
#include "StringAPI.h"
int main()
{
    String a("Hello");
    String b("World");
    bool c = a > b;
}

И тут я получаю LINK error: error LNK2019: unresolved external symbol "bool __cdecl operator>(class String const &,class String const &)" (??O@YA_NABVString@@0@Z) referenced in function _main

READ ALSO
Как организовать структуру данных

Как организовать структуру данных

Пытаюсь в силу своих знаний написать движок дли игры в русские шашки на C++ (если точнее, уже по большей части написал)Требуется определить,...

94
Как сделать,чтобы после выполнения функции значение переменной сохранялось для дальнейшей работы

Как сделать,чтобы после выполнения функции значение переменной сохранялось для дальнейшей работы

У меня есть две функции, 1 для записи в файл предложения ,2 для чтения его и сохранения предложения в переменную, но когда я хочу вывести предложение...

124
Помогите разобраться с градиентом CSS

Помогите разобраться с градиентом CSS

Вот есть такой градиентПутем различных изменений % у transparent и цвета #dde так и не понял по-какому принципу это строится

161