Ada*_*lor 10 visual-studio-2008
我在我的解决方案中添加了一个dll项目,并通过可执行项目显式引用它.可执行文件抱怨它无法找到lib.
有任何想法如何设置项目来创建所需的lib文件?并且为什么项目不会创建一个?!?
干杯
注意 我已搜索项目,并且文件未在任何地方创建.
Jer*_*emy 12
在DLL项目的链接器 - >高级属性选项卡中,验证导入库(您要查找的.lib文件)的值是否正确/合理.此属性的值将确定导入库的名称以及链接器将其写入的位置.
您可能还需要在项目中生成导入定义文件(.def),或检查头文件并确保导出的函数在头文件中使用__declspec(dllexport)限定符进行标记.这通常由#define切换,例如:
#ifdef MYAPI_EXPORTS
#define MYAPI_API __declspec(dllexport)
#else
#define MYAPI_API __declspec(dllimport)
#endif
void MYAPI_API foo(int bar);
Run Code Online (Sandbox Code Playgroud)
基本上你希望编译器在构建库时看到dllexport,但是当你的客户端代码是#include头文件时dllimport.如果Visual Studio生成了基本的项目结构,它可能已经创建了一个合适的#define来使用.
您不必同时创建.def文件并添加dllexport,只需添加一个或另一个.我更喜欢后者.此外,如果选择使用.def文件,则需要在库项目的链接器属性中指定它.
| 归档时间: |
|
| 查看次数: |
12148 次 |
| 最近记录: |