dumplib | Import library generator for x86 PE files
kandi X-RAY | dumplib Summary
kandi X-RAY | dumplib Summary
Dumplib is a helper tool to create import libraries (.lib files) with correct extern "C" name decorations for x86 PE files compiled by MSVC. (This means not x64 because x64 files do not have decorated export names; for x64, see Remarks below.) Its main use is to allow creating import libraries for DLLs for which no import library is available, and to customize existing import libraries, e.g. to remove unwanted exports that cause linker collisions.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of dumplib
dumplib Key Features
dumplib Examples and Code Snippets
Community Discussions
Trending Discussions on dumplib
QUESTION
I'm not used to coding on Windows, and I am puzzled with this error on VS.
I am developping a static library libA
, another one libB
calling some methods in libA
, and a program prog
calling some methods in libB
.
libA
compiles without any problems.
Same for libB
. The include and lib folders about libA
are given to VS, as well as libA.lib
as an additional dependency.
For prog
, I give the include and lib folders concerning both libA
and libB
. The two libaries themselves are given as additional dependencies. It compiles, but while linking, I got a couple of errors LNK2001 of the type:
unresolved external symbol "public virtual void __thiscall libA::classA1::methodA1(void)" (?methodA1@classA1@libA@@UEAXXZ) in File libB.lib(classB1.obj)
I did a dumpbin of libB
and the symbol ?methodA1@classA1@libA@@UEAXXZ
appears many times in the dump file.
ANSWER
Answered 2021-Dec-28 at 13:37Finally, I found the problem.
libA and libB were correctly working on Linux, so I didn't understand why I got this problem on Windows.
Turns out that, I don't really know why, but the VS solution file generated by CMake allowed to compile libA with an x86 target architecture, but together with the additional option "/machine x64" in the command line section (Project Properties > Linker (or Librarian for a static library) > Command Line).
I removed this "/machine x64" option, recompiled libA, and now the whole thing compiles and links.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install dumplib
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page