【问题标题】:Relative path with #pragma comment(lib)#pragma comment(lib) 的相对路径
【发布时间】:2013-04-29 13:38:09
【问题描述】:

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

我试过了

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

在 foo.cpp 中,它 似乎 可以工作。但是,这对我来说似乎很老套。

有没有更简单的方法?

【问题讨论】:

    标签: c++ visual-studio-2010 linker pragma


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多