在 Visual Studio 2008 C++ 标头中自动指定 .LIB

发布于 2024-11-10 02:56:35 字数 316 浏览 1 评论 0原文

是否可以在 Visual Studio 2008 中自动链接 C++ 静态库?或者,是否可以使用标准方法进行改进?

我正在开发一组 C++ 库,链接/测试它们非常痛苦。通常的方法是在测试客户端中指定 .lib 文件,但现在列表已经变得相当大(我自己的库、opencv、boost 等),并且当我在调试和发布模式之间切换时,我总是缺少一些东西、gpu 和非 gpu 等。当我在项目属性中打开链接器时,列表会滚动一段时间。

我希望我可以自动指定如果客户端 #includes 项目也应该链接到指定的 .lib (调试/发布)。这是否可能,或者是否有其他方法可以帮助以最少的用户交互管理链接?

Is it possible to automatically link a c++ static library in Visual Studio 2008? Or, is there an improvement to use from the standard approach?

I am developing a set of c++ libraries and linking/testing them is quite a pain. The usual approach is to specify the .lib files in the test clients, but now the list has grown quite large (my own libs, opencv, boost, and others) and I'm always missing something as I switch between debug and release modes, gpu and non-gpu, etc. When I open the linker in project properties the list scrolls on for some time.

I was hoping that I could automatically specify that if a client #includes something that the project should also link to a specified .lib (debug/release). Is this possible or is there an alternate approach that will help manage linkage with minimal user interaction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忘东忘西忘不掉你 2024-11-17 02:56:35

使用#pragma comment(lib, "name_of_the_library.lib")。 #pragma comment 的其他有用选项可以在 MSDN 页面

关于 Debug 与 Release 配置:通常使用 _DEBUG 预处理器宏来区分。 Visual C++ 标头当然将其用于与您想要的相同目的;例如,这是来自 VC++ 2010 use_ansi.h 文件:

#ifdef _DEBUG
#pragma comment(lib,"msvcprtd")
#else   /* _DEBUG */
#pragma comment(lib,"msvcprt")
#endif  /* _DEBUG */

Use #pragma comment(lib, "name_of_the_library.lib"). Other useful options for #pragma comment can be found at the MSDN page.

With regard to Debug vs. Release configuration: usually a _DEBUG preprocessor macro is used to distinguish. Visual C++ header certainly use it for the same purpose as you want; e.g. this is from VC++ 2010 use_ansi.h file:

#ifdef _DEBUG
#pragma comment(lib,"msvcprtd")
#else   /* _DEBUG */
#pragma comment(lib,"msvcprt")
#endif  /* _DEBUG */
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文