我在這裏沒有找到與FMOD和makefile有關的帖子,我嘗試從FMOD論壇獲得一些幫助,但他們的數據庫已關閉。所以,在這裏。將FMOD聲音工具集成到遊戲中
我正在使用Linux Ubuntu 12.04 LTS 32位。我想將FMOD音效功能整合到空氣曲棍球遊戲中。我有運作的遊戲,我有一個運作的「例子」。我並不是很熟悉各種makefile語法,也不熟悉FMOD應用程序,這就是我來到這裏的原因。
這是該示例生成文件:
x86: main.cpp
g++ -O2 -m32 -o example $< ../../api/lib/libfmodex.so
x64: main.cpp
g++ -O2 -m64 -o example $< ../../api/lib/libfmodex64.so
x86_c: main.c
g++ -O2 -m32 -o example $< ../../api/lib/libfmodex.so
x64_c: main.c
g++ -O2 -m64 -o example $< ../../api/lib/libfmodex64.so
clean:
rm -f example
據我瞭解,該示例生成文件才能確定在基於您所使用的體系結構和語言加載。我不知道示例makefile中的哪些標記我應該放在空氣曲棍球makefile的標記列表中。我害怕搞砸了。
此外,我想確保遊戲可以在任何機器上運行,而無需參考機器上可能不存在的/usr/local/include
和/usr/local/lib
。
新手在這裏。很感謝任何形式的幫助。
我實際上已經將'-lfmod-4.44'添加到庫列表中,將'-I/usr/local/include -L/usr/local/lib'添加到編譯器標誌列表中,但那不起作用。至於'-lfmodex'或'-lfmodex64',我不知道要使用哪一個,但可能兩者都可以工作。另外,我已經在我的文章中添加了一些關於指向位於其他地方的FMOD頭文件和cpp文件的內容。 – Andrei
你現在的連接線是什麼樣的?它失敗了嗎?如果是這樣,怎麼樣?在構建時鏈接期間找到庫的路徑對運行時庫位置無關緊要。在運行時,系統配置的位置將被搜索適當的庫;如果他們發現事情會正常工作。 (二進制/庫可以包含額外位置的明確列表以檢查庫,但是這是一個不同的主題,請閱讀有關RPATH的內容。) –
鏈接行是:'$(CC)$(CXXFLAGS)../src/main。 cpp ../src/mesh.cpp ../src/texture.cpp -o ../bin/Matrix $(LIBS)',這很好。它在以前的修訂版本上工作。另外,你是否建議RPATH是我應該用來允許應用程序在其目錄中找到這些庫的東西? – Andrei