Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

error LNK2028: unresolved token (0A00000E)

Ostatnio zmodyfikowano 2013-11-12 21:19
Autor Wiadomość
bypietras
Temat założony przez niniejszego użytkownika
error LNK2028: unresolved token (0A00000E)
» 2013-11-11 22:16:58
Witajcie. Mam problem, z którym nie mogę sobie poradzić. Otóż program, na którym pracowałem na uczelni uruchamiał  się bez problemów na tamtejszym komputerze z Windows XP i oprogramowaniem Visual Studio C++ 2005. Na moim domowym komputerze stacjonarnym z Win7 i Visual C++ 2010 również nie ma kłopotów. Niestety uczelniany sprzęt jest bardzo powolny, co znacznie utrudnia pracę. Postanowiłem więc zabierać ze sobą laptopa również na XP i Visualem 2005. Niestety kompilacja tego samego programu skutkuje zwrotem wielu błędów. Najpierw pokażę te błędy a następnie podam kody plików  programu.

Z początku pokazuje jedynie, że zapomniałem dołączyć plik  nagłówkowy stdafx.h do jednej z klas, jednak po dopisaniu tego nagłówka pojawia sie dużo więcej errorów:

Warning 1 warning C4244: '=' : conversion from 'double' to 'int', possible loss of data d:\Dokumenty\SO\Visual Studio 2005\Projects\Cwicz4\Cw4\Cw4\Kolo.cpp 19
Error 2 error LNK2028: unresolved token (0A00000E) "public: __clrcall Odcinek::Odcinek(int)" (??0Odcinek@@$$FQAM@H@Z) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 3 error LNK2020: unresolved token (0A000009) "public: __clrcall Odcinek::~Odcinek(void)" (??1Odcinek@@$$FQAM@XZ) Kolo.obj
Error 4 error LNK2028: unresolved token (0A00000F) "public: __clrcall Odcinek::~Odcinek(void)" (??1Odcinek@@$$FQAM@XZ) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 5 error LNK2028: unresolved token (0A000010) "public: void __clrcall Odcinek::Rysuj(class System::Windows::Forms::PictureBox ^,int,int)" (?Rysuj@Odcinek@@$$FQAMXP$AAVPictureBox@Forms@Windows@System@@HH@Z) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 6 error LNK2028: unresolved token (0A000011) "public: int __clrcall Odcinek::Obwod(void)" (?Obwod@Odcinek@@$$FQAMHXZ) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 7 error LNK2028: unresolved token (0A00000A) "public: int __clrcall Odcinek::PodajD(void)" (?PodajD@Odcinek@@$$FQAMHXZ) referenced in function "public: int __clrcall Kolo::Obwod(void)" (?Obwod@Kolo@@$$FQAMHXZ) Kolo.obj
Error 8 error LNK2028: unresolved token (0A000012) "public: int __clrcall Odcinek::PodajD(void)" (?PodajD@Odcinek@@$$FQAMHXZ) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 9 error LNK2028: unresolved token (0A000008) "public: __clrcall Odcinek::Odcinek(void)" (??0Odcinek@@$$FQAM@XZ) referenced in function "public: __clrcall Kolo::Kolo(void)" (??0Kolo@@$$FQAM@XZ) Kolo.obj
Error 10 error LNK2028: unresolved token (0A00000B) "public: void __clrcall Odcinek::UstawD(int)" (?UstawD@Odcinek@@$$FQAMXH@Z) referenced in function "public: __clrcall Kolo::Kolo(int)" (??0Kolo@@$$FQAM@H@Z) Kolo.obj
Error 11 error LNK2019: unresolved external symbol "public: __clrcall Odcinek::~Odcinek(void)" (??1Odcinek@@$$FQAM@XZ) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 12 error LNK2001: unresolved external symbol "public: __clrcall Odcinek::~Odcinek(void)" (??1Odcinek@@$$FQAM@XZ) Kolo.obj
Error 13 error LNK2019: unresolved external symbol "public: void __clrcall Odcinek::Rysuj(class System::Windows::Forms::PictureBox ^,int,int)" (?Rysuj@Odcinek@@$$FQAMXP$AAVPictureBox@Forms@Windows@System@@HH@Z) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 14 error LNK2019: unresolved external symbol "public: int __clrcall Odcinek::Obwod(void)" (?Obwod@Odcinek@@$$FQAMHXZ) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 15 error LNK2019: unresolved external symbol "public: int __clrcall Odcinek::PodajD(void)" (?PodajD@Odcinek@@$$FQAMHXZ) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 16 error LNK2001: unresolved external symbol "public: int __clrcall Odcinek::PodajD(void)" (?PodajD@Odcinek@@$$FQAMHXZ) Kolo.obj
Error 17 error LNK2019: unresolved external symbol "public: __clrcall Odcinek::Odcinek(int)" (??0Odcinek@@$$FQAM@H@Z) referenced in function "private: void __clrcall Cw4::Form1::buttonStart_Click(class System::Object ^,class System::EventArgs ^)" (?buttonStart_Click@Form1@Cw4@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) Cw4.obj
Error 18 error LNK2019: unresolved external symbol "public: __clrcall Odcinek::Odcinek(void)" (??0Odcinek@@$$FQAM@XZ) referenced in function "public: __clrcall Kolo::Kolo(void)" (??0Kolo@@$$FQAM@XZ) Kolo.obj
Error 19 error LNK2019: unresolved external symbol "public: void __clrcall Odcinek::UstawD(int)" (?UstawD@Odcinek@@$$FQAMXH@Z) referenced in function "public: __clrcall Kolo::Kolo(int)" (??0Kolo@@$$FQAM@H@Z) Kolo.obj
Error 20 fatal error LNK1120: 16 unresolved externals D:\Dokumenty\SO\Visual Studio 2005\Projects\Cwicz4\Cw4\Debug\Cw4.exe

Poniżej dołączam kody plików:

Form1.h
C/C++
#include "Odcinek.h"
#include "Kolo.h"
#pragma once

namespace Cw4 {
   
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
   
    /// <summary>
    /// Summary for Form1
    ///
    /// WARNING: If you change the name of this class, you will need to change the
    ///          'Resource File Name' property for the managed resource compiler tool
    ///          associated with all .resx files this class depends on.  Otherwise,
    ///          the designers will not be able to interact properly with localized
    ///          resources associated with this form.
    /// </summary>
    public ref class Form1
: public System::Windows::Forms::Form
    {
    public:
        Form1( void )
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here
            //
        }
       
    protected:
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        ~Form1()
        {
            if( components )
            {
                delete components;
            }
        }
    private: System::Windows::Forms::Button ^ buttonStart;
    private: System::Windows::Forms::PictureBox ^ pictureBox1;
    protected:
       
    private:
        /// <summary>
        /// Required designer variable.
        /// </summary>
        System::ComponentModel::Container ^ components;
       
        #pragma region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        void InitializeComponent( void )
        {
            this->buttonStart =( gcnew System::Windows::Forms::Button() );
            this->pictureBox1 =( gcnew System::Windows::Forms::PictureBox() );
            ( cli::safe_cast < System::ComponentModel::ISupportInitialize ^ >( this->pictureBox1 ) )->BeginInit();
            this->SuspendLayout();
            //
            // buttonStart
            //
            this->buttonStart->Location = System::Drawing::Point( 157, 12 );
            this->buttonStart->Name = L"buttonStart";
            this->buttonStart->Size = System::Drawing::Size( 75, 23 );
            this->buttonStart->TabIndex = 0;
            this->buttonStart->Text = L"Start";
            this->buttonStart->UseVisualStyleBackColor = true;
            this->buttonStart->Click += gcnew System::EventHandler( this, & Form1::buttonStart_Click );
            //
            // pictureBox1
            //
            this->pictureBox1->Location = System::Drawing::Point( 12, 41 );
            this->pictureBox1->Name = L"pictureBox1";
            this->pictureBox1->Size = System::Drawing::Size( 352, 267 );
            this->pictureBox1->TabIndex = 1;
            this->pictureBox1->TabStop = false;
            //
            // Form1
            //
            this->AutoScaleDimensions = System::Drawing::SizeF( 6, 13 );
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size( 383, 317 );
            this->Controls->Add( this->pictureBox1 );
            this->Controls->Add( this->buttonStart );
            this->Name = L"Form1";
            this->Text = L"Dziedziczenie klas";
            ( cli::safe_cast < System::ComponentModel::ISupportInitialize ^ >( this->pictureBox1 ) )->EndInit();
            this->ResumeLayout( false );
           
        }
        #pragma endregion
    private: System::Void buttonStart_Click( System::Object ^ sender, System::EventArgs ^ e ) {
            Odcinek Odcinek1( 80 );
            Kolo Kolo1;
            int d1 = Odcinek1.PodajD();
            int ob1 = Odcinek1.Obwod();
            int ob2 = Kolo1.Obwod();
           
            System::Drawing::RectangleF rectF( 230.0, 0.0, 200, 100 );
            Graphics ^ gr2 = pictureBox1->CreateGraphics();
            System::Drawing::Font ^ fo = gcnew System::Drawing::Font( "Arial Regular", 9.0 );
            String ^ as = "Obwód odcinka =" + ob1.ToString() + "\nObwód koła =" + ob2.ToString();;
            gr2->DrawString( as, fo, Brushes::Red, rectF );
           
            Kolo1.Rysuj( pictureBox1, 5, 50 );
            Odcinek1.Rysuj( pictureBox1, 50, 10 );
        }
    };
}
Odcinek.h:
C/C++
#pragma once

class Odcinek
{
private:
    int d; //pole danych dlugosc d
public:
    int obw;
    Odcinek( void ); // konstruktor obiektów
    Odcinek( int d ); //konstruktor z argumentami
    ~Odcinek( void ); // destruktor obiektów
    void Rysuj( System::Windows::Forms::PictureBox ^ pb, int x, int y ); // metoda Rysuj
    int Obwod(); // metoda Obwod
    int PodajD(); //metoda PodajD
    void UstawD( int d ); //metoda PodajD
};
Odcinek.cpp:

C/C++
#pragma once

class Odcinek
{
private:
    int d; //pole danych dlugosc d
public:
    int obw;
    Odcinek( void ); // konstruktor obiektów
    Odcinek( int d ); //konstruktor z argumentami
    ~Odcinek( void ); // destruktor obiektów
    void Rysuj( System::Windows::Forms::PictureBox ^ pb, int x, int y ); // metoda Rysuj
    int Obwod(); // metoda Obwod
    int PodajD(); //metoda PodajD
    void UstawD( int d ); //metoda PodajD
};
Kolo.h:
C/C++
#include "Odcinek.h"
#pragma once

class Kolo
    : public Odcinek
{
public:
    Kolo( void ); // konstruktor obiektów
    Kolo( int pr ); //konstruktor z argumentami
    ~Kolo( void ); // destruktor obiektów
    void Rysuj( System::Windows::Forms::PictureBox ^ pb, int x, int y ); // metoda Rysuj
    int Obwod(); // metoda Obwod
    int PodajPR(); //metoda PodajD
};
Kolo.cpp:
C/C++
#include "Kolo.h"
#include "Odcinek.h"

Kolo::Kolo()
    : Odcinek()
{ // konstruktor obiektów typu Odcinek
}
Kolo::Kolo( int pr )
{ // konstruktor z argumentami
    UstawD( pr );
}
Kolo::~Kolo()
{ // destruktor obiektów typu Kolo
}

int Kolo::Obwod()
{ // implementacja metody Obwod
    int pr = PodajD();
    obw = 2 * 3.1415926535897932384626433832795 * pr;
    return obw;
}


void Kolo::Rysuj( System::Windows::Forms::PictureBox ^ pb, int x, int y )
{
    System::Drawing::Graphics ^ gr = pb->CreateGraphics();
    int pr = PodajD();
    System::Drawing::Rectangle rect( x, y, 2 * pr, 2 * pr );
    gr->DrawEllipse( System::Drawing::Pens::Black, rect );
    gr->FillEllipse( System::Drawing::Brushes::Blue, rect );
}

Dodam jeszcze, że instalowałem Framework 4.0 jednak to niestety nie pomogło. Co ciekawe w About mojego Visuala 2005 widnieje Framework 2.0..

Proszę was bardziej doświadczonych o radę. Jest to dla mnie bardzo ważne, Pozdrawiam!
P-96096
maly
» 2013-11-12 08:09:36
W Odcinek.cpp powinna znajdować się definicja klasy a nie jej deklaracja.
P-96102
bypietras
Temat założony przez niniejszego użytkownika
...
» 2013-11-12 19:34:36
Maly, mógł byś napisać coś więcej? Czy to znaczy, że na każdym komputerze powinno pisać się program inaczej?. Na anglojęzycznych stronach znalazłem radę by wejść w Properties projektu, rozwinąć zakładkę Linker po czym kliknąć w opcję Input. Tam w Additional Dependencies polecono mi wpisać user32.lib. Niestety to nie poskutkowało. Skopiowałem więc plik user32.lib z działającego komputera z VS C++ 2010 do analogicznego folderu laptopa z VS C++ 2005. Niestety nie poskutkowało.. Kurczę, nie mam już pomysłu, a potrzebuję mieć niezawodny kompilator na uczelni.. Nikt z was się nie spotkał z czymś takim? Pozdrawiam
P-96129
maly
» 2013-11-12 19:57:18
Odcinek.cpp jest taki sam jak Odcinek.h, czyli masz tylko deklaracje klasy.
P-96131
bypietras
Temat założony przez niniejszego użytkownika
...
» 2013-11-12 21:19:34
Trzeba być naprawdę zdolnym człowiekiem by dwa razy wkleić kod do nieprawidłowego pliku... Szkoda mojego straconego czasu na szukanie rozwiązania i waszego na czytanie tego dosyć długiego tematu.. Dziękuję za pomoc. Naprawdę głupio mi, że zawracałem wam tyłek przez takie niedopatrzenie..
Dziękuję i przepraszam.
P-96149
« 1 »
  Strona 1 z 1