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  阅读(259)  评论(0编辑  收藏  举报

导航