在.lib中找不到头文件

时间:2019-01-09 09:40:39

标签: c++ codeblocks

我正在使用用于USB到I2C的芯片Mcp2221。

在Microchip网站上,有一个与Mcp2221 https://www.microchip.com/wwwproducts/en/MCP2221配合使用的dll,我已经下载了“ MCP2221 DLL(v2.2.1)”

在非托管=> lib下的下载zip中,我将mcp2221_dll_um_x64.lib复制到目录D:\ createJNIDll

MCP2221 DLL(v2.2.1)\ unmanaged \ lib \内容:

Zip Content

D:\ createJNIDll \内容:

enter image description here

现在我正在使用Code :: Blocks。
我创建了一个新项目,在该项目中,文件名为“ main.cpp”

在设置下=>编译器=>搜索目录我已将“ D:\ createJNIDll \”添加到编译器和链接器。

在我的项目上单击鼠标右键=>构建选项=>链接器设置我添加了“ D:\ createJNIDll \ mcp2221_dll_um_x64.lib”

我的main.cpp看起来像这样:

#include "mcp2221_dll_um.h"
#include <iostream>

int main(){
    wchar_t* res;
    int i = Mcp2221_GetLibraryVersion(res);
    std::cout << i << ": " << res << std::endl;
}

当我尝试构建和运行项目时,出现错误消息:

  

严重错误:mcp2221_dll_um.h:没有这样的文件或目录

在lib目录中是一个mcp2221_dll_um.h文件,如上图所示。因此,我希望此标头位于.lib中,但我不确定100%。

有人可以帮助我解决可以在项目中使用.lib的问题吗?

1 个答案:

答案 0 :(得分:0)

  

所以我希望这个头文件位于.lib中,但我不确定100%

什么让您那个想法?

标头是磁盘上的文件。您已将链接器指向.lib文件,但是编译器不知道在何处查找标头。将该位置添加到您的包含目录中。