VS2010调试问题
最近在用VS2010写一个3D游戏引擎,在一个目录下构建两个项目,一个项目用于游戏引擎静态库,
另一个用于创建实际的游戏,在编写好引擎,编译生成静态链接库后,在实际游戏编写中加入
#pragma comment(lib, "Debug/StrandedEngine.lib"),【这里插一句#pragma comment(lib,“”)
的用法,表示用到某个库中的函数,可能包含了它的头文件(声明部分),实现部分在这个lib文件中,
这个就是告诉编译器链接这个lib文件(不然找不到函数的实现)】
等游戏部分实现后,编译出错,link1104,找不到Debug/StrandedEngine.lib文件,但是在目录中确实有
StrandedEngine.lib文件,于是在网上找解决方法跟请教同学,最后终于解决了
原来是项目的默认路径在:比如你的项目名称是myProcject,项目目录是myProject,那么你再vs2010下执行
你写的程序,则读写文件默认路径是myProject\myProject,如果你双击编译好的exe文件,则默认路径是与exe位置相同的目录。
所以#pragma comment(lib, "Debug/StrandedEngine.lib"),读不到StrandedEngine.lib,所以只要在这样子就行了
#pragma comment(lib, "../Debug/StrandedEngine.lib")加入上一个就可以读到.lib文件了。
第二种解决方案是:
在链接-常规-附加库目录 添加lib库目录
在链接-输入-附加依赖库添加lib文件
编译器需要获取路劲跟文件名才能找到lib文件
的实现部分。
posted on 2014-03-04 14:49 Freshman11 阅读(263) 评论(0) 编辑 收藏 举报