static library and link errors

Hi Guys

I was doing the porting of my C++ app to linux, when the next error happened. I'm using the Code::Blocks IDE for manage my project.
For ex:
I have one executable project(console application) that uses two static libraries(they contain all application logic).
I have compiled all projects without errors. But i have a problems when linker is working.

for ex, i receive the next error message on linking:
[code]
/home/user/projects/logicstor/lib/uDebug/libclient.a(logic_client.o): In function `logic_client::upload_file_action()':
/home/user/projects/logicstor/client/logic_client.cpp:43: undefined reference to `logic::files_storage::files_storage(std::basic_string, std::allocator > const&, logic::files_storage::en_file_storage_type)'
[/code]
It means that linker couldn't find definition of function "logic::files_storage::files_storage"(in contains in my second library libcommon.a) while it is linking the libclient.a (my first libtary)

i whant to show th? part of code that makes definition and declaration of the "logic::files_storage::files_storage" in libcommon.a:
[code]
[u]files_storage.h[/u]
namespace logic
{
class files_storage
{
public:
enum en_file_storage_type { EN_CLIENT_FILE_STORAGE, EN_SERVER_FILE_STORAGE };

files_storage(const std::wstring& root_storage_path, en_file_storage_type type);
~files_storage();
...

[u]files_storage.cpp[/u]

namespace logic
{
files_storage::files_storage(const std::wstring& root_storage_path, files_storage::en_file_storage_type type)
{
}
...
[/code]

I have checked my libcommon.a with nm tool, it says that the library exports this function

I don't know what to do, Please help me guys!!!
Thanks
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories