gpt4 book ai didi

c++ - 如何将 DirectX 库包含到我自己的静态库(独立库)中?

转载 作者:行者123 更新时间:2023-11-28 03:30:05 33 4
gpt4 key购买 nike

我正在编写自己的库来实现 Engine3D 接口(interface)(由我制作)。

该库的“用户”应该在其项目中包含它(以及 Engine3D 接口(interface)的 header )并在没有任何其他库等的情况下运行它。

不幸的是,当我从我的项目中创建静态库时,“用户”必须包括我的库和 DirectX 库,为 DirectX 等设置目录。

有什么方法可以让它变得简单(他只需要一个库)并且对用户透明(没有 DirectX 库,目录在项目,都我自己的图书馆)?

我正在使用 Visual C++ 2012。我不想制作动态库,而是静态库。

最佳答案

非常巧合,因为我在一个小时前遇到了完全相同的问题,并且找到了一个非常简单的解决方案。如果您使用 #pragma comment 指令来包含您的 Directx 库,您只需向它们提供您的库的完整路径(而不仅仅是名称),如下所示:

#pragma comment ( lib, "c:/Softwares/Development/Lib/DirectX/Lib/x86/dxgi.lib" )
#pragma comment ( lib, "c:/Softwares/Development/Lib/DirectX/Lib/x86/d3d11.lib" )
#pragma comment ( lib, "c:/Softwares/Development/Lib/DirectX/Lib/x86/d3dx11.lib" )
#pragma comment ( lib, "c:/Softwares/Development/Lib/DirectX/Lib/x86/d3dx10.lib" )

显然,我示例中的路径与我的个人配置有关,您应该在计算机上定义正确的 DirectX libs 目录路径。然后,您只需转到您的项目配置 -> C/C++ -> 常规 -> 附加包含目录并设置您的 DirectX 包含文件的路径。

就是这样!现在您可以编译您的 DirectX 界面并将其链接到另一个项目,此后无需进行更多设置。

希望对您有所帮助,抱歉我的英语不好。 :)

关于c++ - 如何将 DirectX 库包含到我自己的静态库(独立库)中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12821523/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com