gpt4 book ai didi

c++ - Visual C++ - 库的客户端不知道库已使用 pragma comment lib 更改

转载 作者:行者123 更新时间:2023-11-30 03:52:09 26 4
gpt4 key购买 nike

我正在使用的代码库使用 pragma comment lib 来表达代码对它需要的库的依赖性。它的构造非常破旧。我做了一个实验来尝试理解 pragma comment lib 的使用。它是我能生产的最简单的库和库的客户端。

Foo.lib
foo.cpp
void foo() { printf("hello\n"); }
foo.h :

#pragma comment(lib, "foo.lib")
void foo();

FooTest.exe
main.cpp :

#include "foo.h"
void main()
{
foo();
}

我正在使用 Visual Studio 2005(为了与只接受使用此版本制作的插件的大型商业程序兼容)。问题是更新 foo.lib 时 FooTest.exe 不会重新编译。我对 foo.cpp 进行了更改,保存,构建。然后构建 fooTest.exe 解决方案。 fooTest.exe 解决方案似乎不了解其依赖项已更改。

我可以通过将链接器依赖项添加到 FooTest.exe 来解决这个问题,但这破坏了 pragma comment lib 的整个要点。

我已经阅读了很多关于 pragma comment lib 的帖子,并且认为它适用于很多人。在我的整体代码库和我的测试中,它不起作用。我肯定错过了什么。

斯科特

最佳答案

comment lib pragma 插入链接器指令。链接器看到这一点并将该库添加到其输入列表中。这就是它所做的一切。你想要的是一个项目依赖,你似乎知道如何配置。

Visual Studio 2005 pragma comment documentation

关于c++ - Visual C++ - 库的客户端不知道库已使用 pragma comment lib 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874825/

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