将lib构建为dll而不是?

时间:2016-11-24 07:13:39

标签: c visual-studio-2010 oculus

我目前正试图将Oculus整合到我一直在工作,开启和关闭一年的Q3A项目中。我在没有崩溃VS2010或Q3A的情况下实际启动Q3A执行程序时遇到了麻烦。

到目前为止,我已尝试了3件事:

我试图包括Oculus'主标题文件

#include "../../mlibs/libovr/Include/OVR_CAPI_0_8_0.h"

并拨打电话。这不起作用。即使libovr实际上包含在解决方案中,Linker也找不到这些功能。

添加引用或将已编译的libovr.lib添加为附加依赖项会产生相同的错误。在这里,您可以看到我经历过的一些过程。

http://imgur.com/a/DI0Bf

所以我决定尝试将libovr项目编译为dll。即使编译为lib工作正常,也无法正常工作。

http://i.imgur.com/ZbucjWl.jpg

我在尝试编写libovr作为dell时遇到的错误告诉我某些功能不存在,即使使用"去定义"在未解析的符号上将我带到包含中明显存在的文件中。

感觉我对这一切在C中是如何运作有着非常大的误解,这并不令人惊讶,因为我以前从未尝试过这样做。

我只是试图将libovr作为dll而不是lib来调用。这是否有意义,或者我是否会出错?

编辑:搞定了。显然你需要包含头文件,在任何一个项目中使用链接器设置.lib依赖项,并包含libovr项目VS10本身。

非常疯狂,但它有效!

0 个答案:

没有答案