如何调用DLL,指定路径,不需要拷贝
选择当前工程,右击
"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了
不过似乎也还是有其它的方法指定路径。
winnt.h编译出错,提示:
1>d:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
1>d:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer'
我没有开发DirectX9的项目,为了开发usb,包含头文件:
extern "C"
{
#include "setupapi.h"
#include <hidsdi.h>
}
在Project->"Properties"->C/C++ -> General -> "Additional Include Directories" 中定义了头文件的路径,结果出错。
最后在这里去掉头文件路径,在
Tools -> Options -> Project and Solutions -> VC++ Directories,选择“Include files”,在最后位置添加头文件路径。
编译通过!
看来后者的优先级比前者低。
There is no source code available for the current location
有效地解决方案:
Tool->Options里Debugging->General把require source file to exactly match the original version去掉就可以了
另外一种方案:
找到出问题的*.cpp文件,通常某一个cpp无法跟踪。备份,然后从工程中删除,不仅仅是remove。
重新编译,虽然会出错。
从备份位置copy,然后重新加入工程。
重新编译,调试就可以了。
查看环境变量的值:
propety->"Environment", 打开"Macro""
## 新的问题:运行exe时候,提示“系统无法执行指定的程序”
我的机器是一台没有安装开发工具的PC,获取从另外一台开发的机器生成的exe,试着执行,碰到该错误
开发机器使用的Debug模式,编译生成的exe文件。
首先通过depend.exe检查exe文件,提示:msvcr80d.dll and msvcr80p.dll 无法加载
在开发机使用depend.exe检查是没有问题的,两个dll可以正常发现,
参考文章: http://blog.csdn.net/snowbabybw/article/details/6546353
关键3个地方(在Windows/winsxs目录下):
1.创建目录:x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f
因为开发机2个dll就是在这个目录下
2.在Manifests目录下添加文件:
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.cat
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.manifest
3.在Policies目录下,因为文件夹x86_policy.8.0.Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_x-ww_09e017b4已经存在,只需要在Policies\x86_policy.8.0.Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_x-ww_09e017b4添加文件:
8.0.50727.762.cat
8.0.50727.762.policy
总结:
根据实际操作,发现步骤3不做,也是可以的,程序也可以执行了
我开发机使用的是VS2005,WinXP,如果使用其他版本IDE或者操作系统,可以需要的文件夹名称就不一样了,需要选择相应的文件夹。可以通过depend.exe进行寻找。