|
what is a DLL File andhow to create a dll file in c++ ? can any body clearly adress my problem
|
|
|
|
|
*ptr[^]
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
munigantipardhu wrote: what is a DLL File
you might be kidding, right ?
|
|
|
|
|
munigantipardhu wrote: what is a DLL File ...can any body clearly adress my problem
See here.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Hi all,
I have already requested once for MAC/iPhone/Objective C Message Board under "Suggestions/Site Bugs".
I believe in CodeProject very much. It helps me alot.
SO please start one MAC/iPhone developer forum.
Its a request.
|
|
|
|
|
Move that to[^]
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
|
Yes I read your post well. We call it a Recursive-Suggestion and it's a crime. Here you may post only questions.
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
Crime can never be done by requesting something..
any way thanks for your reply...
|
|
|
|
|
You can request anything : " I request him to be killed". lol But Once you've posted in the Suggestion forum, it would reach Mr Bob straight. So you've already done it and you can just wait for a reply. If you post it again here, it makes no use at all. Nobody here has the authority to create a forum! We are civilians.
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
I'll create that immediately.
Oh, wait, I'm just someone who reads (and occasionally helps on) the C/C++ forum.
If you want someone in power to read this, the suggestions forum is pretty well named.
Personally, I don't think we need it. This forum is dominated by microsoft types, but we do have a clue about other systems.
Just make sure that when you post a question, you mention somewhere in it that you're using Mac / iPhone / Objective C, otherwise we'll assume Win32 / MFC.
On a similar note, there is a Mobile Development[^] forum...
Iain.
[modified to correct typo]
Codeproject MVP for C++, I can't believe it's for my lounge posts...
|
|
|
|
|
Hi to Everyone,
I am a beginner in VC++. I am not getting a proper site/link/docs to learn about dll
I want to learn to <b>create dll using win32 in vc++6 in different ways</b>(it seems there are two ways to create).
Could you please give me some proper link from where I can learn that.
Regards,
HImangshu S
I am a beginner
|
|
|
|
|
See here.[^]
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
I am no getting the following points
Does statically link means always a Lib and dynamically linking means a dll?
Statically linking can be using dll and lib both?
Should Lib has to be used with dll in an application?
I am a beginner
|
|
|
|
|
himangshuS wrote: Does statically link means always a Lib and dynamically linking means a dll?
A "lib" doesn't always hold the same meaning. When you are using a dll, a "lib" becomes dummy. It's just used to hold information about the dll when you compile. You put all your functionality into the dll. It holds the content for example an exported class or a group of functions. The lib holds all information. The linker looks for these information.
You can link to a dll both statically and dynamically. When you statically link it. (just like you link an MFC runtime) This gets added to your executable. You will not have a dependency but the executable size becomes bigger. When you link dynamically, the dll is kept independent and your exe uses it everytime and hence the advantage. Any number of exes can share the same dll.
himangshuS wrote: Should Lib has to be used with dll in an application?
As I said, when you compile a code that uses a DLL, you'd require the libs. You don't even need your DLL when you compile. The LIB has all the information about the dll. The dll is required only at the run time.
Also, you can by pass the usage of libs if you are dynamically loading the dll using
LoadLibrary() & GetProcAddress calls. But you should know the type information in prior. For example the function signature.
Also occasionally you can build libs with brains- a static library. That's old an way though.
So I got your point. You are confused between libs,static library, dll & static linking. lol
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
thanks,
Could you plese tell me in order to make use of a win32 dll( which has a class named abc), to be used in MFC application.
I mean the settings has to be made.
I included the lib file and tried to create an object of the class abc.
abc obj;
aa=obj.myFunc (1,3);
Its giving an error....
error LNK2001: unresolved external symbol "public: virtual __thiscall abc::~abc(void)" (??1abc@@UAE@XZ)
DemoDlg.obj : error LNK2001: unresolved external symbol "public: int __thiscall abc::myFunc(int,int)" (?myFunc@abc@@QAEHHH@Z)
DemoDlg.obj : error LNK2001: unresolved external symbol "public: __thiscall abc::abc(void)" (??0abc@@QAE@XZ)
Debug/Demo.exe : fatal error LNK1120: 3 unresolved externals
regards,
Himangshu S
I am a beginner
|
|
|
|
|
You should export your class.
class __declspec(dllexport) CyourClass
{
};
Then in the linker options->Addition include libraries, you must add the CYourClass.lib.
You can also use
#pragma comment(lib,"CYourClass.lib")
Also make sure every time you rebuild the dll, you are using the latest lib to link with the exe.
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
thanks for the reply..
But as i have mentioned , i am using static linking...ie there is no dll. only Lib file.
Could you confirm the same.
also what is the error cannot open file "MathLib.obj" means. when I already added the LIB file using the setting->link->general->object/library module
Thanks in advance
I am a beginner
<div class="ForumMod">modified on Wednesday, March 4, 2009 3:31 AM</div>
|
|
|
|
|
Okay let's troubleshoot that one. Remove all types of references to your lib.
just add this pragma to include you lib (example) :
#pragma comment(lib,"C:\\yourclass\\Win32StaticLib.lib")
And try the same. I think you are referring to a wrong path. Just check and tell me. Here in static lib you dont need to export or anything. You can simply type in the code and build the lib and start using it. I just tried a sample. Everything works fine.
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
thanks
I did the same...But got thte following errors...
svcrtd.lib(cinitexe.obj) : warning LNK4098: defaultlib "libcd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
DemoDlg.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall abc::~abc(void)" (??1abc@@UAE@XZ)
DemoDlg.obj : error LNK2001: unresolved external symbol "public: int __thiscall abc::myFunc(int,int)" (?myFunc@abc@@QAEHHH@Z)
Please help me
Thanks
I am a beginner
|
|
|
|
|
just for your clarification..
I have a class abc .the header file is as follows
// abc.h: interface for the abc class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ABC_H__B8AC41A0_E396_422A_A532_0E8412AD2D02__INCLUDED_)
#define AFX_ABC_H__B8AC41A0_E396_422A_A532_0E8412AD2D02__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class abc
{
public:
abc();
~abc();
int myFunc(int ,int);
};
#endif // !defined(AFX_ABC_H__B8AC41A0_E396_422A_A532_0E8412AD2D02__INCLUDED_)
the implementation file is as follows
// abc.cpp: implementation of the abc class.
//
//////////////////////////////////////////////////////////////////////
#include "abc.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
abc::abc()
{
}
abc::~abc()
{
}
int myFunc(int a,int b)
{
return (a+b);
}
thnaks
I am a beginner
|
|
|
|
|
himangshuS wrote:
int myFunc(int a,int b)
{
return (a+b);
}
This is wrong. You need to prefix the class' name.
int abc::myFunc(int a,int b)
{
return (a+b);
}
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
sorry for that silly mistake..
but its still giving some error..
DemoDlg.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall abc::~abc(void)" (??1abc@@UAE@XZ)
Debug/Demo.exe : fatal error LNK1120: 1 unresolved externals
actually to use the method, I made a object of abc and used as follows..is that fine?
#include "stdafx.h"
#include "Demo.h"
#include "DemoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "abc.h"
#pragma comment(lib,"C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\dll and lib\\statically lin (LIB)\\MathLib\\Debug\\MathLib.lib")
void CDemoDlg::OnButton1()
{
int aa,bb;
abc obj;
aa=obj.myFunc(1,3);
}
I am a beginner
|
|
|
|
|
Ok I'm still here. Do you have any specific implementation in your destructor? Even if it's yes, Let's try one thing. Just a temporary test, we'll restore it back. Just remove the destructor & try it again. That shouldn't be a problem actually but let's see.
Just remove this piece:
~abc(void);
&
abc::~abc(void)
{
}
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
Okay I'll be away for sometime. If you can wait, let me comeback otherwise someone here will answer you. Good luck Bye.
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|