【问题标题】:unable to link FMOD library to VS2010 project无法将 FMOD 库链接到 VS2010 项目
【发布时间】:2011-11-21 20:09:21
【问题描述】:

我正在尝试将 FMOD 链接到我的项目,我过去在 Visual Studio 2008 中很容易做到这一点......所以我将 fmodex_vc.lib 和 fmodex.dll 文件放在我的项目目录中,添加了它们到我项目的解决方案资源管理器,然后创建一个包含 fmod.h 文件的 SoundMgr.h 文件

#include "include\fmod\fmod.h"

如果我右键单击上面的代码并单击“打开文档”,则 fmod 已放置在 include\fmod 文件夹中并打开正常...

但是,如果我尝试编写任何代码,包括一个简单的“使用命名空间 FMOD”,它会告诉我它的 FMOD 未声明或未识别......我是否遗漏了任何步骤?

编辑: 到目前为止,该课程的样子是:

#pragma once
#include "main.h"

#include "include\fmod\fmod.hpp"
#include "include\fmod\fmod_errors.h"
#include "include\fmod\fmod.h"

class SoundMgr{

    void init();


};


    void SoundMgr::init(){
    FSOUND_Init (44100, 32, 0);

    }

错误是:

Error   1   error C3861: 'FSOUND_Init': identifier not found 

这是我尝试从本快速指南导入的任何示例代码行: GameDev FMOD quick guide

我尝试将库作为附加依赖项添加到属性/链接器的输入部分中,我得到了

1. fatal error LNK1181: cannot open input file 'fmodex_vc.lib'

这些错误中的任何一个都敲响了警钟吗?

【问题讨论】:

  • 你能把你所有的错误都贴出来吗?
  • 它无法识别任何东西,例如,如果我只输入 FMOD:: 它会显示“必须是类或命名空间”。或者对于FSOUND_Init (44100, 32, 0);,它给了我“期望一个类型说明符
  • 如果我们能看到完整的错误真的很有帮助,也许还有一些small and self-contained 的例子。除了帮助我们帮助您之外,它还可以帮助您了解自己的问题所在。
  • 我已经添加了错误,感谢您的时间,但它并没有真正包含更多信息......它看起来好像它无法访问 FMOD 标头中的定义,但他们可以在项目内右击/打开文件时完美打开...
  • 值得一提的是,FSOUND_Init 是 FMOD 3 独有的功能,而您正在与 fmodex aka FMOD 4 链接,这会导致问题。

标签: c++ compiler-construction linker fmod


【解决方案1】:

您不想让 fmod.hpp 获得 c++ 功能吗?

【讨论】:

    【解决方案2】:

    您可以在 C/C++ 中包含头文件路径 > 链接器属性的常规和库路径,并将 dll 包含在您的项目中。在这种情况下,您的发布/调试目录中有文件

    【讨论】:

      【解决方案3】:

      是的,所以我最终通过删除链接器的输入部分中的附加依赖项来修复它,而是在配置属性\VC++ 目录中添加包含和库目录...。我发现的大多数文章都建议使用实际的完整路径到 FMOD 安装文件夹,但由于我希望这个项目是可移植的和自包含的,我在我的项目中创建了一个“lib”和“include”文件夹并将这些文件放入其中......(使用目录“\lib”和项目属性中的“\ include”,我假设链接到项目文件夹,以前从未这样做过,但我希望如果我在另一台机器上编译它不会导致依赖性问题)......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多