By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,583 Members | 1,126 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,583 IT Pros & Developers. It's quick & easy.

Static MFC in DLL (linker error)

P: n/a
Hi
I want to use the static MFC within a dll, but I get the following errors
when linking:
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv

nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc

nafxcwd.lib(apphelp.obj) : error LNK2001: unresolved external symbol
__mbctype

nafxcwd.lib(filelist.obj) : error LNK2001: unresolved external symbol
__mbctype

nafxcwd.lib(viewedit.obj) : error LNK2019: unresolved external symbol
__mbctype referenced in function "protected: long __thiscall
CEditView::OnFindReplaceCmd(unsigned int,long)"
(?OnFindReplaceCmd@CEditView@@IAEJIJ@Z)

When I specifiy _AFXDLL in the preprocessor settings the project compiles
correctly, but on program execution, the MFC71D.dll is still required, as
when using the shared dll mfc.

I tried to solve the problem by using /NODEFAULTLIB: nafxcwd.lib (as it was
described in an previous thread), but then I even get more errors.

Does somebody have an idea?

thanks
Alex
Nov 17 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
http://support.microsoft.com/default...;EN-US;Q148652

--
---------------------------------------------------
Automate your software builds with Visual Build Pro
http://www.visualbuild.com/

"ac2806" <ac****@onemail.at> wrote in message
news:43**********************@newsreader.inode.at. ..
Hi
I want to use the static MFC within a dll, but I get the following errors
when linking:
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol
___argv

nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol
___argc

nafxcwd.lib(apphelp.obj) : error LNK2001: unresolved external symbol
__mbctype

nafxcwd.lib(filelist.obj) : error LNK2001: unresolved external symbol
__mbctype

nafxcwd.lib(viewedit.obj) : error LNK2019: unresolved external symbol
__mbctype referenced in function "protected: long __thiscall
CEditView::OnFindReplaceCmd(unsigned int,long)"
(?OnFindReplaceCmd@CEditView@@IAEJIJ@Z)

When I specifiy _AFXDLL in the preprocessor settings the project compiles
correctly, but on program execution, the MFC71D.dll is still required, as
when using the shared dll mfc.

I tried to solve the problem by using /NODEFAULTLIB: nafxcwd.lib (as it
was described in an previous thread), but then I even get more errors.

Does somebody have an idea?

thanks
Alex

Nov 17 '05 #2

P: n/a
Thanks for the link, but as I wrote before, when I try to ignore the lib
(nafxcwd.lib) by specifying it in "Properties/Linker/Input/Ignore Specific
Libraries", it get even more linker errors.
I also tried to add msvcrtd.lib but this also didn't help.

Any futher suggestions?
"Kyle Alons" <re***@to.newsgroup> wrote in message
news:u$**************@TK2MSFTNGP09.phx.gbl...
http://support.microsoft.com/default...;EN-US;Q148652

--
---------------------------------------------------
Automate your software builds with Visual Build Pro
http://www.visualbuild.com/

"ac2806" <ac****@onemail.at> wrote in message
news:43**********************@newsreader.inode.at. ..
Hi
I want to use the static MFC within a dll, but I get the following errors
when linking:
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol
___argv

nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol
___argc

nafxcwd.lib(apphelp.obj) : error LNK2001: unresolved external symbol
__mbctype

nafxcwd.lib(filelist.obj) : error LNK2001: unresolved external symbol
__mbctype

nafxcwd.lib(viewedit.obj) : error LNK2019: unresolved external symbol
__mbctype referenced in function "protected: long __thiscall
CEditView::OnFindReplaceCmd(unsigned int,long)"
(?OnFindReplaceCmd@CEditView@@IAEJIJ@Z)

When I specifiy _AFXDLL in the preprocessor settings the project compiles
correctly, but on program execution, the MFC71D.dll is still required, as
when using the shared dll mfc.

I tried to solve the problem by using /NODEFAULTLIB: nafxcwd.lib (as it
was described in an previous thread), but then I even get more errors.

Does somebody have an idea?

thanks
Alex


Nov 17 '05 #3

P: n/a
Change In "Configration property "->"C/C++"->"Code Generation"->"RunTime
Library" to Multi-threaded (/MT)

Hope it will solve your problem
Mar 10 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.