小编Dav*_*vid的帖子

从使用stdcall的DLL创建MSVC导入库

我有一个出口的DLL

extern "C" __declspec(dllexport) int __stdcall Foo( void );
Run Code Online (Sandbox Code Playgroud)

dll的转储显示

******************************************************************************
Section:             Exports
File Offset:         00001400 (5120)
  Flags:             00000000
  Time Stamp:        00000000
  Major Version:     0000
  Minor Version:     0000

Exports from simple.dll
  3 exported name(s), 3 export addresse(s).  Ordinal base is 1.
  Sorted by Name:
    RVA      Ord. Hint Name
    -------- ---- ---- ----
    00002104    3 0000 std::nothrow
    00001258    2 0001 Foo
    000020F8    1 0002 ___CPPdebugHook

******************************************************************************
Run Code Online (Sandbox Code Playgroud)

我从以下def文件开始:

LIBRARY simple.dll 
EXPORTS
  Foo
Run Code Online (Sandbox Code Playgroud)

这创建了一个包含以下导出的lib文件:

Exports
       ordinal    name
                  _Foo
Run Code Online (Sandbox Code Playgroud)

当我链接到这个库时,msvc链接器抱怨它找不到_Foo @ 0.为了解决这个问题,我在def文件中添加了一个别名.

LIBRARY simple.dll …
Run Code Online (Sandbox Code Playgroud)

import dll stdcall visual-c++

6
推荐指数
1
解决办法
3588
查看次数

标签 统计

dll ×1

import ×1

stdcall ×1

visual-c++ ×1