人较笨且记性不好,故记录在此.折叠代码打不开请F5.本博中很多是转载收录其他网友的文章(原文地址请见博文末尾),所有权为原作者所有!!!
此博客已不再更新和维护,欢迎关注我的github新博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

说明:
第1、2点中所说的文件是除了代码文件和库文件的其他文件;
第3点是特指.dll等动态指定的文件;
第4点是说的头文件和库文件;

正文:

1、在VC里进行调试或者执行的工作目录(工作目录指在程序文件夹下工作,比如playSound(“OK.mp3”)这样写就是在程序所在文件夹下找OK文件)默认是项目文件(test.vcproj)所在的目录,所以如果要直接写外部文件名字来找文件,那请把那个文件放到该目录下。如果在那个工作目录下有个文件夹res,里面有个文件nice.bmp,则在程序里面是("res/nice.bmp"),不能直接写(“nice.bmp”)。(刚才是指默认工作目录,可以修改工作目录的:项目属性/调试/工作目录;修改之后,默认工作目录就不是当前工作目录了)。

2、直接点击.exe执行文件运行,那此时的工作目录(意思同上)就是该执行文件所在目录了,那上面的OK.mp3文件就要放到和.exe执行文件同一个文件夹。

3、注意:上面所说的找寻文件都是在编译阶段就进行了的(即在运行/调试前程序就知道目录了的,但可别认为编译进了.exe文件,程序在运行时还是要找的,正如上面而言),有些文件是要在运行时候动态指定,比如.dll文件,一般的,就把他放到同.exe一个目录即可(其实这种缺少.dll文件是很常见的事情),当然,你把它直接放到system32系统目录下也是可行的(这就是环境变量的功效,你也可以自己制定环境变量和其路径,后话了)。这儿可以小小总结下:运行程序找寻.dll文件是在.exe所在目录、环境变量path所指定的那一系列目录(system32基本都在里面)。

4、如果你想包含的是头文件或者.lib文件这些特殊文件,还有另外一些指定目录的办法:也就是设置VC IDE的包含目录、库目录(这两个是针对本地IDE而言,对所有该IDE打开的项目都适用)或者针对每个项目而言的附加包含目录、附加库目录。

补充一:上面说的都是外部文件,即不是在项目中的那些文件。源文件是一般定要加到项目中去的,否则,有链接错误(这种情况就是程序包含了A.h头文件,然而没有A.cpp源文件加进项目中去)

补充二:http://www.cnblogs.com/ 两个点加个斜杠表明跳往上一级目录,然而./ 一个点加个斜杠表明就在当前的目录,比如: ./A/time.xml,表示找当前目录(上面所说的那个默认目录或者指定的目录)的A文件夹下的time.xml文件

【参考资料 感谢作者】
http://hi.baidu.com/%B0%AE%D0%C4%CC%EC%BE%F4/blog/item/9565f2615b473ec68cb10d3a.html

 

【补充】
warning LNK4089: all references to "xxxx.dll" discarded by /OPT:REF

错误原因:由于打开了优化选项,而且程序中包含或加入了xxxx.dll,但是却没有调用该库中的任何函数或方法, 所以系统给个通知。

解决办法:a)这个问题一般出现在release版中,当release版编译时会对代码进行优化,将程序中实际上并没用到的,而在工程中链接了的库放弃而不编译到工程中去。可在工程设置中的Link中的input中ingore libraries中将该库的lib文件名输入。

              b)不予理会,因为它不会影响程序。

请见:http://www.cppblog.com/jsjkandy/archive/2008/07/29/57419.html

posted on 2011-08-16 11:53  子坞  阅读(999)  评论(0编辑  收藏  举报