2014-09-26 76 views
0

构建完成后,我看到了这条消息。我该如何解决这个错误?(在QT Creator中使用FMOD)

g++: unrecognized option '-C:\Program Files\FMOD SoundSystem\FMOD Programmers API Windows\api\lib' 

我加入这个2线gui.pro文件

INCLUDEPATH += -"C:\Program Files\FMOD SoundSystem\FMOD Programmers API Windows\api\inc\" 

LIBS += -"C:\Program Files\FMOD SoundSystem\FMOD Programmers API Windows\api\lib\" 

我该如何解决这个问题?

+0

尝试LIBS + = L “C:/ Program Files文件/ FMOD Soundsystem的/ FMOD编程API的Windows/API/lib中/” – 2014-09-26 12:21:58

+0

你的代码后,我看到许多这样的错误 2014-09-26 12:22:56

+0

尝试LIBS + = -L“C:/ Program Files/FMOD SoundSystem/FMOD Programmers API Windows/api/lib /”...看起来像' - '错过..检查这一个参考http://doc.qt.digia.com/qtcreator-2.3/creator-project-qmake-libraries.html – 2014-09-26 12:27:37

回答

1

您需要添加包含路径,以头,没有“ - ”在开始和AFAIK也没有尾随“\”:

INCLUDEPATH += "C:\Program Files\FMOD SoundSystem\FMOD Programmers API Windows\api\inc" 

利布斯需要开始与-L。但这还不够!这只是为图书馆的搜索路径添加一条路径。您还需要告诉链接器要链接的库。我不知道你需要哪一种,但对于

LIBS += -L"C:\Program Files\FMOD SoundSystem\FMOD Programmers API Windows\api\lib\" -lfmod 

称为libfmod.a您将添加“-lfmod”静态库,即:还有一些其他的方法可以做到这一点。例如为不同类型的构建添加不同的库(调试与发布)。 You might want to use the Qt Creator GUI for that

编辑:究竟是什么我刚写: http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries

EDIT2:

OK,看来您的特定情况下,有可能是另一个问题。 This StackOverflow回答说,FMOD库是使用Microsoft Visual Studio Compiler构建的,它处理与GCC不同的函数的名称修改。所以他们说你必须改用C-API。

那是2011年。我手头没有该库或Windows机器。不幸的是,他们只提供安装程序下载,所以你必须检查自己是否有一些自述文件或文档可用。

+0

我做了您的解决方案。 我使用FMOD :: System_Create(); 但是<未定义的对FMOD_System_Create @ 4>的引用>错误消息和消息出现。 我该怎么办? – 2014-09-26 15:57:00

+0

“ld返回1存在状态”表示链接器失败。也许你没有链接正确的图书馆。你的图书馆的文件说什么? 同样重要(!),MinGW/GCC工具链仅适用于32位系统。所以如果你的库被编译为x86-64,它将无法工作。 – 2014-09-26 16:43:21

+0

我更新了我的答案。一探究竟。 – 2014-09-26 16:56:22

相关问题