带有#pragma comment(lib)的相对路径

2024-04-26

使用 Visual Studio 2010,我想在 #pragma comment(lib) 中指定相对于包含它的 cpp 文件的路径。

I tried

#pragma comment(lib, __FILE__"\\..\\foo.lib")

在 foo.cpp 和它中seems上班。然而,这对我来说似乎很黑客。

有没有一种不那么黑客的方式?


不,如果这需要与 .cpp 文件相关,则不需要。这是非常不寻常的,您通常无法保证 .lib 部署在与使用该库的客户端源代码相对的目录中。尽管您当然可以提供规定这一点的安装说明。

正常的方法是仅指定“foo.lib”,并将链接器配置为使用“附加库目录”设置搜索 .lib 文件的正确目录。这允许 .lib 部署在任何地方,但库用户在设置项目时必须更新设置。否则这是一个非常正常的配置任务。与在“附加依赖项”设置中指定库没有太大不同。

请记住,#pragma 通常对于帮助客户端程序员使用正确版本的静态链接库最有用。您通常必须提供 4 个静态 .lib 版本、调试与发布以及 /MT 与 /MD。可能乘以您愿意支持的 VS 版本数量。这很快就会变得毛茸茸的。 _DLL、_DEBUG 和 _MSC_VER 预定义宏可帮助您生成正确的#pragma。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有#pragma comment(lib)的相对路径 的相关文章

随机推荐