unresolved external symbol
-
I there This is a bit strange... I had a project (VS 2005 Pro) with all the code written in the header (.h) files. This is an OO project, so I had the class definitions and method implementations on the same file. Then, I separated the files, definition in headers, implementation in code files. But now I get 7 unresolved external symbols and the project won't compile. The strange thing is that before the separation all was normal. What do you guys think it can be? Best regards
Fratelli
-
I there This is a bit strange... I had a project (VS 2005 Pro) with all the code written in the header (.h) files. This is an OO project, so I had the class definitions and method implementations on the same file. Then, I separated the files, definition in headers, implementation in code files. But now I get 7 unresolved external symbols and the project won't compile. The strange thing is that before the separation all was normal. What do you guys think it can be? Best regards
Fratelli
AndreFratelli wrote:
What do you guys think it can be?
Nothing special, just plain old coding errors. Not sure what you are asking, I mean you did not post any error messages with the related code so I don't know what you think we can do it about it short of re-writing all the C++ documentation that already exists which wouldn't make any sense since you have already proven you don't read it.
led mike
-
I there This is a bit strange... I had a project (VS 2005 Pro) with all the code written in the header (.h) files. This is an OO project, so I had the class definitions and method implementations on the same file. Then, I separated the files, definition in headers, implementation in code files. But now I get 7 unresolved external symbols and the project won't compile. The strange thing is that before the separation all was normal. What do you guys think it can be? Best regards
Fratelli
AndreFratelli wrote:
I there
I'm sure you are. As for your coding problems it would be helpful if you included the error messages.
Steve
-
AndreFratelli wrote:
What do you guys think it can be?
Nothing special, just plain old coding errors. Not sure what you are asking, I mean you did not post any error messages with the related code so I don't know what you think we can do it about it short of re-writing all the C++ documentation that already exists which wouldn't make any sense since you have already proven you don't read it.
led mike
led mike wrote:
I don't know what you think we can do it about it short of re-writing all the C++ documentation that already exists which wouldn't make any sense since you have already proven you don't read it.
You don't even have a reason to think that. I get unresolved external symbols only after separating the code into files... Wouldn't it be reasonable it would work just as well? Before, I had this: // file whatever.h
#ifndef __WHATEVER_H
#define __WHATEVER_H
class Whatever
{
void method();
};void Whatever::method()
{
}
#endifNow I have this: // file whatever.h
#ifndef __WHATEVER_H
#define __WHATEVER_H
class Whatever
{
void method();
};
#endif// file whatever.cpp
#include "whatever.h"
void Whatever::method()
{
}And I get these: caminho.obj : error LNK2019: unresolved external symbol "public: bool __thiscall Capacidade::reserva(class Fluxo)" (?reserva@Capacidade@@QAE_NVFluxo@@@Z) referenced in function "public: bool __thiscall Caminho::ligar(void)" (?ligar@Caminho@@QAE_NXZ) caminho.obj : error LNK2019: unresolved external symbol "public: bool __thiscall Capacidade::liberta(class Fluxo)" (?liberta@Capacidade@@QAE_NVFluxo@@@Z) referenced in function "public: void __thiscall Caminho::desligar(void)" (?desligar@Caminho@@QAEXXZ) caminho.obj : error LNK2019: unresolved external symbol "public: unsigned int __thiscall Capacidade::suporta(class Fluxo)const " (?suporta@Capacidade@@QBEIVFluxo@@@Z) referenced in function "public: bool __thiscall Caminho::ping(void)const " (?ping@Caminho@@QBE_NXZ) grafo.obj : error LNK2019: unresolved external symbol "public: unsigned int const __thiscall No::id(void)const " (?id@No@@QBE?BIXZ) referenced in function "public: bool __thiscall Grafo::ligados(unsigned int,unsigned int)const " (?ligados@Grafo@@QBE_NII@Z) grafo.obj : error LNK2019: unresolved external symbol "public: class No * __thiscall Ligacao::destino(void)const " (?destino@Ligacao@@QBEPAVNo@@XZ) referenced in function "public: bool __thiscall Grafo::ligados(unsigned int,unsigned int)const " (?ligados@Grafo@@QBE_NII@Z) grafo.obj : error LNK2019: unresolved external symbol "public: unsigned int __thiscall Capacidade::custo(class Fluxo)const " (?custo@Capacidade@@QBEIVFluxo@@@Z) referenced in function "public: class Caminho __thiscall Grafo::dijkstra(unsigned int,unsigned int,class Fluxo)const " (?dijkstra@Grafo@@QBE?AVCaminho@@IIVFluxo@@@Z) grafo.obj : error LNK2019: unresolved e
-
AndreFratelli wrote:
I there
I'm sure you are. As for your coding problems it would be helpful if you included the error messages.
Steve
Stephen Hewitt wrote:
As for your coding problems it would be helpful if you included the error messages.
Done that =) I already figured out what it is. I started searching what did the unresolved names add in common and notice they were all marked as inline! Removed the "inline" keyword every in the project.. and it works! Can anybody explain this? How can I solve it? regards
Fratelli
-
Stephen Hewitt wrote:
As for your coding problems it would be helpful if you included the error messages.
Done that =) I already figured out what it is. I started searching what did the unresolved names add in common and notice they were all marked as inline! Removed the "inline" keyword every in the project.. and it works! Can anybody explain this? How can I solve it? regards
Fratelli
That will work. Can you post your actual code: the names in the error messages don't match up to code you posted.
Steve
-
Stephen Hewitt wrote:
As for your coding problems it would be helpful if you included the error messages.
Done that =) I already figured out what it is. I started searching what did the unresolved names add in common and notice they were all marked as inline! Removed the "inline" keyword every in the project.. and it works! Can anybody explain this? How can I solve it? regards
Fratelli
I think the code for inline functions must appear in your header file; you can't have just the declaration. It's similar to a macro.
-
That will work. Can you post your actual code: the names in the error messages don't match up to code you posted.
Steve
The code is kind of large for me to post it here =/ The errors refer many files and functions... Is there a way for me to post the entire source here? regards
Fratelli
-
I think the code for inline functions must appear in your header file; you can't have just the declaration. It's similar to a macro.
I know that for templates, but with plain inline functions too? =/ Never happened to me before... Is this a VS thing? regards
Fratelli