如何在 Visual Studio 中链接到 .a 文件

问题描述 投票:0回答:1

我有一个已经开发了几十年的应用程序,并向我提供了 .h 和 .a 文件。 我的程序主要是用 c/c++ 编写的,当我尝试链接到这些 .a 文件时,我得到:错误 LINK2019:未解析的外部符号引用了函数,致命错误 LINK1136:无效或损坏的文件。

在 Windows 上使用 Visual Studio 2022。

我的所有其他静态库文件都是.libs,但这是一个.a 文件。 有没有办法链接到.a静态库文件?

我的 .vcxproj 文件具有以下内容:

<Link>
    <AdditionalDependancies>...;NewLibrary.a;$(AdditionalDependancies)</AdditionalDependancies>
    ....
</Link>

我的 .props 文件具有以下内容:

<AdditionalIncludeDirectories>...$(THIRDPARTYLIB)/NewLibraries</AdditionalIncludeDirectories>
<AdditionalLibraryDirectories>...$(THIRDPARTYLIB)/NewLibraries</AdditionalLibraryDirectories>
visual-studio-code static-libraries static-linking .a
1个回答
0
投票

您的 .a 文件与 VS Code 工具兼容吗?如果是这样,您可以通过转到 lib 文件所在的目录并运行以下命令将其转换为 .lib 文件:

lib /def:NewLibrary.a /out:NewLibrary.lib

如果项目不太长或完全由您制作,您可以创建一个 .def 文件来描述该文件的导出函数,然后用它创建一个 .lib 文件。

© www.soinside.com 2019 - 2024. All rights reserved.