Estou tentando colocar uma variavel short int AdrIO dentro de uma classe como privado mas o compilador na hora de linkar da o seguinte erro:
[Linker Error] undefined reference to `AdrIO'
Esta variavel faz parte da escrita da porta paralela aonde colocamos o endereco da porta desta funcao:
- Código: Selecionar todos
void PortaParalelaFrm::outportb(short int End, unsigned char valor)
{
ValOut = valor;
AdrIO = End;
__asm("mov _AdrIO,%dx");
__asm("mov _ValOut,%al");
__asm("out %al, %dx");
}
- Código: Selecionar todos
class PortaParalelaFrm : public wxFrame
{
private:
DECLARE_EVENT_TABLE();
public:
PortaParalelaFrm(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("PortaParalela"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = PortaParalelaFrm_STYLE);
virtual ~PortaParalelaFrm();
void Botao1Click(wxCommandEvent& event);
void outportb(short int End, unsigned char valor);
void Botao2Click(wxCommandEvent& event);
void Botao3Click(wxCommandEvent& event);
void Botao4Click(wxCommandEvent& event);
void Botao5Click(wxCommandEvent& event);
void Botao6Click(wxCommandEvent& event);
void Botao7Click(wxCommandEvent& event);
void Botao8Click(wxCommandEvent& event);
void Botao9Click(wxCommandEvent& event);
void BotaoZerarClick(wxCommandEvent& event);
void BotaoContadorClick(wxCommandEvent& event);
private:
//Do not add custom control declarations between
//GUI Control Declaration Start and GUI Control Declaration End.
//wxDev-C++ will remove them. Add custom code after the block.
////GUI Control Declaration Start
wxButton *BotaoContador;
wxStaticText *WxStaticText1;
wxButton *BotaoZerar;
wxButton *Botao8;
wxButton *Botao7;
wxButton *Botao6;
wxButton *Botao5;
wxButton *Botao4;
wxButton *Botao3;
wxButton *Botao2;
wxButton *Botao1;
wxPanel *WxPanel1;
////GUI Control Declaration End
private:
byte siValor; // [b]aqui aceita a variavel[/b]
short int AdrIO; // [b]aqui da erro de linkagem[/b]
//Note: if you receive any error with these enum IDs, then you need to
//change your old form code that are based on the #define control IDs.
//#defines may replace a numeric value for the enum names.
//Try copy and pasting the below block in your old form header files.
enum
{
////GUI Enum Control ID Start
ID_BOTAOCONTADOR = 1014,
ID_WXSTATICTEXT1 = 1013,
ID_BOTAOZERAR = 1012,
ID_BOTAO8 = 1011,
ID_BOTAO7 = 1010,
ID_BOTAO6 = 1009,
ID_BOTAO5 = 1008,
ID_BOTAO4 = 1007,
ID_BOTAO3 = 1006,
ID_BOTAO2 = 1005,
ID_BOTAO1 = 1004,
ID_WXPANEL1 = 1002,
////GUI Enum Control ID End
ID_DUMMY_VALUE_ //don't remove this value unless you have other enum values
};
private:
void OnClose(wxCloseEvent& event);
void CreateGUIControls();
};
Obs: Estou usando o wxDevC++ , eh o devCpp com wxWidgets e o compilador MingW.
Abrcs
Douglas