导出的 Visual Studio 模板中缺少 .lib 文件

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

我正在为 Visual Studio 创建一个模板 C++ 项目,需要一些 .lib 和 .dll 文件。这些文件链接到项目属性链接器设置中,并包含在依赖项中,还通过解决方案资源管理器包含在项目中。一切运行正常,但是当我将项目导出到模板并使用该模板创建新项目时,.lib 文件是唯一缺少的文件。

我尝试提取导出模板的 .zip,手动添加 .lib 文件及其到 .vstemplate 的路径,然后重新压缩项目,但这也不起作用。

如果相关的话,我正在 Windows 10 上使用 Visual Studio 2019。

c++ dll visual-studio-2019 lib
2个回答
1
投票

在我看来,正如链接中提到的,最好的方法是创建一个包含所有“内容”的 nuget 包 - 例如 DLL。

当然还有另一种方式:

  1. 在工程目录下创建

    Dependencies
    文件夹,放入需要的dll和lib。

  2. 在项目模板中设置

    Proeperties->C/C++->General->Additional Include Directories->(SolutionDir)Dependencies\..
    Proeperties->Linker->General->Additional Library Directories->$(SolutionDir)Dependencies\..

例如:

  1. 使用项目模板时,将
    Dependencies
    文件夹复制到新项目目录中。

0
投票
  1. 创建导出的模板,然后导航到 C:\Users%用户名%\Documents\Visual Studio 2022\Templates\ProjectTemplates 并找到包含您的 .zip 文件 模板。
  2. 解压模板。
  3. 将缺少的 .lib 文件添加到模板内的位置 文件夹结构。
  4. 使用文本编辑器打开 MyTemplate.vstemplate 文件。
  5. 找到
    <ProjectItem ReplaceParameters="false" TargetFileName="main.cpp">main.cpp</ProjectItem>
  6. 使用相同的格式为您需要包含的每个 .lib 文件添加一行,例如
    <ProjectItem ReplaceParameters="false" TargetFileName="glfw3.lib">DEPENDENCIES\GLFW\lib-vc2022\glfw3.lib</ProjectItem>
  7. 使用文本编辑器打开 Template.vcxproj 文件。
  8. 找到引用包含文件的位置并为每个 .lib 文件添加一行,例如
    <ClInclude Include="Dependencies\GLEW\lib\Release\x64\glew32.lib" />
  9. 保存文件,重新压缩为 zip 文件并替换初始位置中的模板 zip。

现在您将能够从此模板创建一个新项目,它将包含 .lib 文件

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