|
|
1
12
在dll项目的“链接器->高级属性”选项卡中,验证导入库(您要查找的.lib文件)的值是否正确/合理。此属性的值将确定导入库的名称以及链接器将其写入的位置。 您可能还需要在项目中生成导入定义文件(.def),或者检查头文件,并确保导出的函数在头文件中标记了udeclspec(dllexport)限定符。这通常通过定义来切换,例如:
基本上,您希望编译器在构建库时看到dllexport,但在客户机代码包括头文件时看到dllimport。如果Visual Studio生成了基本的项目结构,它可能已经创建了一个合适的定义来使用。 您不必同时创建.def文件和添加dllexport,只需要一个或另一个。我更喜欢后者。此外,如果选择使用.def文件,则需要在库项目的链接器属性中指定该文件。 |
|
|
2
4
我以前见过这个。而且最近又有了新的点击率。如果不导出任何内容,则不会创建.lib文件。导出函数有两种方式。 1)用uu declspec(dllexport)标记函数。 或 2)使用一个.def文件,列出所有要导出的函数。 解决方案: 1)通常需要设置编译时标志来激活预处理器块,以便将某些定义设置为u declspec()。其他人在他们的帖子里列出了这一点。 2)需要设置行属性->链接器->输入->模块定义文件。 |
|
|
3
1
是否已将lib文件包含在项目属性->链接器->exe项目的输入表中? 还要确保在链接器选项卡中包含了其他引用。 |
|
|
4
1
检查生成DLL的项目。如果它不产生一个.lib,你可能还没有告诉它。可以在属性->常规->配置类型(选择static library.lib)中将项目的输出从dll更改为静态库。 |
|
Willy · LINQ:将分组列表转换为新列表 9 年前 |
|
|
Kapil · 如何使用参数设置脚本任务SSI的路径 9 年前 |
|
|
c00000fd · 跨命名空间和不同的.H文件的友元类 9 年前 |
|
|
tangoal · 调用模板类成员时非法使用此类型作为表达式 9 年前 |