我有一个只包含.dll,.lib和.h文件的外部SDK。我正在尝试使用SDK。 dll中的任何内容都不可读,但.h文件对方法有一些注释。 我不是很精通c ++。我假设我需要加载库,然后使用.h文件中定义的方法从dll读取。正确的吗?
我需要知道如何编写一个cpp项目,我可以在其中链接所有这些文件,读取dll,并能够使用sdk中定义的方法。 是否有项目设置的测试项目,我可以看到如何做到这一点? 任何帮助将不胜感激。
答案 0 :(得分:1)
有几种方法可以达到这个目的,包括使用#pragma
的快捷方法,我会 不推荐
同样,您可以使用 Property Sheets ,但这可能看起来有点压倒性。所以我打算给你标准的中途方法......
在项目设置(Alt-F7或项目>属性... )中,您需要设置以下选项:
C / C ++>一般>其他包含目录
使用#include
指令时添加要搜索的文件夹。如果不将其与个人偏好和样式注意事项相混淆,只需将其设置为SDK头文件所在的目录。
您可以使用绝对或相对路径,环境变量。随你。我建议你现在只使用绝对路径。
链接器>一般>其他图书馆目录
与上述相同,但这是 .lib 文件所在的位置。
链接器>输入>其他依赖性
这是您的lib文件的名称。
现在,如果您在项目的源代码中#include
SDK的头文件并进行编译,那么它应该可行。连接步骤也应该成功。
如果没有,可能需要额外的东西才能使SDK发挥出色(例如预处理器定义,编译器设置或其他依赖性)。
最后一件事需要担心的是,运行程序可能会因为无法找到DLL而失败,除非它位于Windows搜索的特定位置。您可以使用 Post-Build Event 将DLL复制到构建可执行文件的同一目录,而不是乱用DLL搜索路径等。
仍然在项目属性中:
构建活动>建设后活动
添加如下命令行:
copy "\Path\To\MySDK\MySDK.dll" "$(OutDir)\"
现在你应该全力以赴,而不必再考虑它了!