1
我正在使用Visual Studio 2008.我有一个DLL和一个测试程序EXE。没有为DLL包含此头文件:在Visual C++中通过#pragma comment(lib,...)导入错误的库
#ifdef _DEBUG
#pragma comment(lib, "FooD.lib")
#else
#pragma comment(lib, "Foo.lib")
#endif
的目的是通过FooD.lib导入库动态链接到FooD.dll,对于调试版本,并为Foo.dll释放建立。问题是,当我运行debug-build测试程序时,它想要链接到Foo.dll。
我已验证_DEBUG
是在调试版本中为测试程序定义的。如果我将#pragma comment
替换为#error
指令,我会看到该错误,所以我非常肯定#pragma comment
正在按照我的预期进行处理。
我也验证了FooD.dll
和FooD.lib
都存在。 (Foo.dll
和Foo.lib
不存在)。但是在运行时,我收到“Can not find Foo.dll”错误消息。
任何想法可能会出错,或者我可以看看在哪里可以找出为什么在运行时查找不正确的DLL?