我正在尝试维护5年前在VC ++ 6.0中编写的程序。它使用我们的“通用”库。我遇到的麻烦是它要么链接这些库的调试版本还是发布版本,这取决于我是否[库文件]的[目录]设置为“common / debug”或[common / release] [工具] - > [菜单]
在构建发布版本时,如何在构建调试版本和[common \ release \ common.lib]时将其链接到[common \ debug \ common.lib]?如果我在库目录中有两个路径,它似乎链接到它找到的第一个路径。
答案 0 :(得分:3)
不是指定include文件夹中的路径,而是根据配置使用包含库的所有最佳方法是使用#pragma
尝试一次,非常有用
#ifdef _DEBUG
#pragma comment(lib, "..\\DllTest\\Debug\\DllTest.lib")
#else
#pragma comment(lib, "..\\DllTest\\Release\\DllTest.lib")
#endif
答案 1 :(得分:1)
在[Project Properties] - > [Linker] - > [Input] - > [Additional Dependencies]中,您可以使用$(ConfigurationName)占位符,如下所示:
c:\common\$(ConfigurationName)\common.lib
在Debug配置中,这将更改为:
c:\common\Debug\common.lib
并在发布中它将更改为:
c:\common\Release\common.lib
答案 2 :(得分:1)
如果我在库目录中有两个路径,它似乎链接到它找到的第一个路径。
只需添加调试设置的调试文件夹和发布设置的发布文件夹即可。
几乎所有编译器,链接等设置都是按配置(如果调试和发布不同,项目属性将在“所有配置”中显示为空白(如果我记得正确的文本)。
答案 3 :(得分:0)
您可以在Additional Dependancies字段中指定要链接到的库的完整路径,这可以为调试和发布版本提供不同的值。
答案 4 :(得分:0)
我找到的解决方案有点像理查德& “1800信息”的......
我从Tools->Options
删除了公共库路径。此处的路径对于在MSVS VC ++ 6.0中运行的所有项目的所有配置都是全局的。
然后,我为每个配置添加了Project->Settings
中相应库的完整路径。 Hense调试配置为D:\VSS\Common\Debug\Common.lib
,发布配置为D:\VSS\Common\Release\Common.lib
。这似乎有效,并且我第一次没有构建警告!
感谢所有建议,指出我看似正确的方向。
--- Alistair。