2016-01-28 43 views
0

我有.a扩展名和file.h文件,代表.a文件中的 函数。如何从C项目中的.A文件调用方法?

如何从新的C项目调用.a文件中的函数?

我使用的是Visual Studio,而且我在互联网上的所有东西都没有,并且没有发现 发现有用的东西。

由于

回答

1
#include 'xxx.h" 
在代码

然后,假设ABC是在库中的功能,只是把它: INT X = ABC();

您还必须将程序与库链接。

+0

搜索互联网“视觉工作室添加图书馆”,你会得到吨的点击。 – FredK

+0

Visual Studio是否支持.a格式?据说像这样的文件需要处理,以便他们有一个.lib扩展名... – rlam12

1

有两个步骤,以在Visual Studio项目使用外部库:你需要同时满足编译连接

编译

这是因为,包括在应用程序中的头文件一样简单;将头文件直接放在源代码树中,或者如果它位于另一个目录中,则将其添加到包含路径中(右键单击项目 - >属性,选择“C/C++”并将该目录添加到“其他包含目录“属性)。

您现在应该可以在没有问题的情况下使用#include "myexternallibrary.h",这将允许编译器识别库函数。

链接

一般来说,以满足连接器,该指令非常类似于上面的头文件:直接倾倒二进制库到你的项目树,并通过属性 - >连接器 - 引用它>输入 - >“附加依赖”(例如,mylibrary.a);如果库位于项目树外部的目录中,并且您不想在该属性中包含库的完整路径,则可以将该目录添加到链接器的搜索路径中:Properties-> Linker-> General - >“其他库目录”。

这下一位就是事情,因为你明确说明库文件是一个.A格式,而不是的.lib有点棘手。

。库文件通常来自MinGW工具链,该工具链可能会或可能不会与Visual Studio工具链一起正常工作。请参阅相关的详细信息:From MinGW static library (.a) to Visual Studio static library (.lib)

您可能会很幸运,MSVC和MinGW(或生成的.a文件的任何工具链)之间的标准C运行库的用法是兼容的。

请注意,请确保您尝试使用的库实际上不是Linux库,因为库扩展也是GCC(用于Linux的最常用C编译器)的默认值, ,并且它在Windows环境中不兼容。

相关问题