У меня проблемы с использованием библиотеки irrklang. Я скачал файл .zip с https://www.ambiera.com/irrklang/downloads.html. У меня есть MacBookPro с Mojave 10.14.6.
Я попытался скомпилировать следующий исходный код:
#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;
}
У меня есть каталог, который содержит
- main. cpp
- include -> файлы заголовков
- bin -> включает подкаталоги
dotnet-4-64
, macosx-gcc
, linux-gcc-64
, winx64-visualStudio
- bell.wav, getout.ogg
- Makefile
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
Я добавил * Опция 1031 *, потому что в противном случае компоновщик ищет библиотеку в /usr/lib
.
Когда я запускаю Make
, кажется, что все работает нормально, без ошибок, но если я пытаюсь выполнить ./example
, я получаю следующее ошибка:
-bash: ./example: cannot execute binary file
Я искал в Интернете, единственная подсказка, которую я нашел, состояла в проверке file ./example
совместимости с моей ОС: результат
./example: Mach-O 64-bit dynamically linked shared library x86_64
и, как и ожидалось бинарный файл фактически исполняемый в этой ОС. Не вижу проблемы, есть у кого-нибудь предложения?