vs2005 设置 编译问题

如何调用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进行寻找。


猜你喜欢

转载自blog.csdn.net/yudingding6197/article/details/8742766