Unity3D已經有了支持Linux的社區版本。要在Linux環境下開發Unity3D程序,首先要安裝Linux版的Unity。地址如下:
https://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/#post-2556301
1 製作Linux下的動態鏈接庫
Linux下的動態鏈接庫是.so格式的。首先我們需要寫一個c++的文件。爲了簡單,我們呢可以編寫如下例程,文件名爲libtest.cpp
#include <stdio.h>
extern "C" int sum(int a, int b)
{
return a + b;
}
然後在該文件的當前路徑下打開終端,執行如下命令:
gcc -c -o libtest.o libtest.cpp
gcc -shared -o libtest.so libtest.o
這樣,我們就獲得了libtest.so這個動態鏈接庫。
2 Unity3D中調用動態鏈接庫
在C#腳本文件中添加
[DllImport ("libtest.so", EntryPoint="sum")]
static extern int sum(int a, int b);
把上一步中做好的libtest.so文件放在unity3D工程的根目錄下。
到這一步還沒有結束,因爲Linux環境下,Unity3D默認搜索目錄是不包含當前目錄的。如果是build出來的程序,我們把so文件和可執行文件放在一起就能執行;但是如果是Unity調試模式下,so文件放在工程根目錄下或者Assets/Plugins下,都是找不到的。爲了開發方便,我們希望能像windows下一樣,在調試模式下也能調用動態庫,所以我們就需要修改/etc/profile,在文件末尾加上兩行
LD_LIBRARY_PATH=./
export LD_LIBRARY_PATH
這樣,就可以讓Unity搜索到動態鏈接庫了。