如何使用外部DLL库编译代码

时间:2016-03-09 17:24:32

标签: c++

我想用一个文件test.cpp编译程序,它使用外部库(我有dll和lib)。怎么做?

我的test.cpp

#include <ExternalLib.h>
#include <iostream>
#include <stdio.h>
#define USE_USB_AUTO_CONNECT 1

int main()
{
   printf ("Characters: %c %c \n", 'a', 65);
   return 0;
}

ExternalLib由第三方公司提供,包含文件:ExternalLib.lib和ExternalLib.dll。还有扩展名为的文件和。

当我使用命令编译时:

 g++ test.cpp

我收到错误:

test.cpp:1:20: fatal error: ExternalLib.h: No such file or directory
 #include <ExternalLib.h>

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

我认为您正在尝试在Linux下使用dll文件(在Windows中编译),这将无法正常工作。

无论如何,你的错误是编译器无法找到你的头文件,为了解决这个问题,你有几个选择:

1)使用-I开关编译时提供包含路径 即:g++ test.cpp -I<path to your include directory>

2)将 ExternalLib.h 复制到 test.cpp 所在的同一目录,并使用#include "ExternalLib.h"代替#include <ExternalLib.h>

3)从 test.cpp 所在的目录开始,提供 ExternalLib.h 的相对路径。也就是说,将#include <ExternalLib.h>替换为#include "../../external/ExternalLib.h"

这将解决无此类文件或目录问题。然后,您还必须使用-L(用于库路径)和-l(用于库文件)开关提供二进制文件/库文件。