我在使用 irrklang 库时遇到问题。我从https://www.ambiera.com/irrklang/downloads.html下载了 .zip 文件。我有一台装有 Mojave 10.14.6 的 MacBookPro。
我尝试编译以下源代码:
#include <stdio.h>
#include <irrKlang.h>
using namespace irrklang;
#pragma comment(lib, "irrKlang.lib") // link with irrKlang.dll
int main(int argc, const char** argv){
printf("\nHello World!\n");
return 0;
}
我有一个目录,其中包含
- 主文件
- 包括 -> 头文件
- bin -> 它包括子目录
dotnet-4-64
,macosx-gcc
,linux-gcc-64
,winx64-visualStudio
- bell.wav, getout.ogg
- 生成文件
Makefile 非常简单(我从examples
原始 .zip 文件的目录中改编了一个):
CPP = g++
OPTS = -dynamiclib -I"include" -L"bin/macosx-gcc" -lirrklang -pthread
all:
$(CPP) main.cpp -o example $(OPTS)
clean:
rm example
我添加了该-dynamiclib
选项,因为否则链接器会在/usr/lib
.
当我运行Make
一切似乎工作正常,没有错误,但如果我尝试执行./example
我得到以下错误:
-bash: ./example: cannot execute binary file
我在网上搜索,我发现的唯一提示是检查file ./example
与我的操作系统的兼容性:结果是
./example: Mach-O 64-bit dynamically linked shared library x86_64
正如预期的那样,二进制文件实际上是在这个操作系统中可执行的。我看不到问题,有人有什么建议吗?