我有.a扩展名和file.h文件,代表.a文件中的 函数。如何从C项目中的.A文件调用方法?
如何从新的C项目调用.a文件中的函数?
我使用的是Visual Studio,而且我在互联网上的所有东西都没有,并且没有发现 发现有用的东西。
由于
我有.a扩展名和file.h文件,代表.a文件中的 函数。如何从C项目中的.A文件调用方法?
如何从新的C项目调用.a文件中的函数?
我使用的是Visual Studio,而且我在互联网上的所有东西都没有,并且没有发现 发现有用的东西。
由于
#include 'xxx.h"
在代码
然后,假设ABC是在库中的功能,只是把它: INT X = ABC();
您还必须将程序与库链接。
有两个步骤,以在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环境中不兼容。
搜索互联网“视觉工作室添加图书馆”,你会得到吨的点击。 – FredK
Visual Studio是否支持.a格式?据说像这样的文件需要处理,以便他们有一个.lib扩展名... – rlam12