G
Gustavo L. Fabro
Greetings!
I'm trying to compile my working VS 2003 solution under VS 2005 beta 1 and
all 16 dlls compiled just fine, except for one which is driving me crazy.
The error is, supposedly, an easy one. I get the traditional LNK2020 error:
------ Build started: Project: QIVProjectManager, Configuration: Debug
Win32 ------
Linking...
Creating library ..\VCLibDll/QIVProjectManager.lib and object
...\VCLibDll/QIVProjectManager.exp
ProjectTables.obj : error LNK2020: unresolved token (0A0003B7) "unsigned int
__cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z)
ProjectFileManagerTables.obj : error LNK2020: unresolved token (0A00094E)
"unsigned int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z)
ProjectDataBase.obj : error LNK2020: unresolved token (0A000465) "unsigned
int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z)
...\VCLibDll/QIVProjectManager.dll : fatal error LNK1120: 3 unresolved
externals
Build log was saved at
"file://c:\fontesusrb\QiCadVXAdriano\QiCad\VCObj\BuildLog.htm"
QIVProjectManager - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Explaining the context:
- There is an unmanaged DLL, X, and it uses strlen()
- There is an unmanaged DLL, Y, that uses X
- And there is a managed DLL Z, that calls Y functions (statically,
adding .h and importing .lib)
Z is "QIVProjectManager.dll", which isn't linking. X and Y compile and link
just fine. They are all being built under debug mode.
I just don't know what else to do to solve this issue. I searched and tried
every single thing I found with no success at all:
- I am compiling all DLLs with the dynamic DLL CRT, debug mode
(/MDd). With this I believe I assure that there is no conflict in different
CRTs being used.
- I've read and applied the changes stated in
http://support.microsoft.com/?id=814472 for solving the mixed DLL loading
problem. That didn't change anything as far as these LNK2020 errors are
concerned.
- I've included and excluded many files from the linker
configuration setting with no success
Any clues as to how to solve this? Why isn't the linker finding the strlen()
function in msvcrtd.lib?
Thanks,
Gustavo L. Fabro
gustavo_fabro%removethis%@hotmail.com
I'm trying to compile my working VS 2003 solution under VS 2005 beta 1 and
all 16 dlls compiled just fine, except for one which is driving me crazy.
The error is, supposedly, an easy one. I get the traditional LNK2020 error:
------ Build started: Project: QIVProjectManager, Configuration: Debug
Win32 ------
Linking...
Creating library ..\VCLibDll/QIVProjectManager.lib and object
...\VCLibDll/QIVProjectManager.exp
ProjectTables.obj : error LNK2020: unresolved token (0A0003B7) "unsigned int
__cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z)
ProjectFileManagerTables.obj : error LNK2020: unresolved token (0A00094E)
"unsigned int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z)
ProjectDataBase.obj : error LNK2020: unresolved token (0A000465) "unsigned
int __cdecl strlen(char const *)" (?strlen@@$$J0YAIPBD@Z)
...\VCLibDll/QIVProjectManager.dll : fatal error LNK1120: 3 unresolved
externals
Build log was saved at
"file://c:\fontesusrb\QiCadVXAdriano\QiCad\VCObj\BuildLog.htm"
QIVProjectManager - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Explaining the context:
- There is an unmanaged DLL, X, and it uses strlen()
- There is an unmanaged DLL, Y, that uses X
- And there is a managed DLL Z, that calls Y functions (statically,
adding .h and importing .lib)
Z is "QIVProjectManager.dll", which isn't linking. X and Y compile and link
just fine. They are all being built under debug mode.
I just don't know what else to do to solve this issue. I searched and tried
every single thing I found with no success at all:
- I am compiling all DLLs with the dynamic DLL CRT, debug mode
(/MDd). With this I believe I assure that there is no conflict in different
CRTs being used.
- I've read and applied the changes stated in
http://support.microsoft.com/?id=814472 for solving the mixed DLL loading
problem. That didn't change anything as far as these LNK2020 errors are
concerned.
- I've included and excluded many files from the linker
configuration setting with no success
Any clues as to how to solve this? Why isn't the linker finding the strlen()
function in msvcrtd.lib?
Thanks,
Gustavo L. Fabro
gustavo_fabro%removethis%@hotmail.com