c++ - 在 Visual Studio 2008 C++ 的 header 中自动指定 .LIB

标签 c++ visual-studio-2008 static-linking

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

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

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

最佳答案

使用#pragma comment(lib, "name_of_the_library.lib")#pragma comment 的其他有用选项可以在 MSDN page 找到.

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

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

关于c++ - 在 Visual Studio 2008 C++ 的 header 中自动指定 .LIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143859/

相关文章:

c++ - 在四叉树高度图地形上查找鼠标世界坐标 (3D)

c++ - select 不等待 C++ 套接字中的超时值

c++ - 散列pair <pair <int,int>,pair <int,int >>的unordered_map

c++ - 具有不同类型的通用接口(interface)

sql - 如何选择属性名称 (fn :local-name() with xquery

c++ - 在redhat上静态编译C++项目

c - 错误: assignment of Read-only location C language

c++ - VS2008中查看引用字符串的值

c++ - C++ 析构函数的奇怪行为

c++ - Visual Studio 2010 中的动态和静态链接和部署