Witam
Pisze "kompilator" i kod jest w pliku .lib. Chciałem przetestować działanie tego co napisałem i nie da się. W programie, który używa tej .lib przy kompilacji jest błąd linkera bo obcy symbol Error 3 error LNK2019: unresolved external symbol "public: void __thiscall File::Open(char const *)" (?Open@File@@QAEXPBD@Z) referenced in function _main C:\Projects\AsmScript\Testowanie\main.obj Testowanie
Nagłówki do klasy w bibliotece .lib to:
#ifndef _COMPILER
#define _COMPILER
#include <fstream>
using namespace std;
class File : public fstream
{
private:
bool comment; // flaga mowiaca czy aktualnie jest komentarz
bool multilinecomment; // flaga mowiaca czy jest aktualnie wieloliniowy komentarz
public:
void Open( const char* path );
string ReadLine(); // funkcja czytajaca linie i usuwajaca tab, komentarze i wieloliniowe komentarze
};
#endif
Próbowałem już coś takiego jak
__declspec(dllexport)
(choć to nie jest .dll tylko .lib :D) i próbowałem też extern "C"
Bo może przeciąża mi funkcje, ale zawsze ten sam błąd. Biblioteka sama w sobie kompiluje się bez problemu. W pliku programu który używa biblioteki dołączam odpowiedni nagłówek.