私は最初の統一スクリプトを作成しようとしています。これは、資産/プラグインに位置していると呼ばれるファイルTestPlugin.csためのコードです:Unity Scripting armv7 Error
using UnityEngine;
using System.Runtime.InteropServices;
public class TestPlugin : MonoBehaviour
{
[DllImport ("__Internal")]
private static extern int getString();
public static void Awake() {
print (getString());
}
}
これは私が生成されたXcodeプロジェクトのclassesフォルダにインポートする二つのファイルのためのコードです:
TestPlugin .H:
#import <Foundation/Foundation.h>
@interface TestPlugin : NSObject
-(int)getString;
@end
TestPlugin.m:
#import "TestPlugin.h"
@implementation TestPlugin
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
- (int)getString
{
return 7;
}
@end
最後に、これはAssetフォルダ内にあるjavascriptファイルです。
TestPluginTest.js:
function Update()
{
TestPlugin.Awake();
}
また、ちょうどこの時点でコンパイルするには、私は必ずしも仕事に、このすべてを期待していないよということに注意してください(余分なポインタとヒントは歓迎されているが)
アーキテクチャのARMv7用
未定義のシンボル::iPhone(実際のデバイス)上に構築しようとしたとき、私はXcodeで取得エラーはこれです「_getString」、から 参照:RegisterMonoModules.oのLDにRegisterMonoModules():記号(S)アーキテクチャのARMv7 collect2は見つかりません:RegisterMonoModules.o
でRegisterMonoModules():ldは1つの終了ステータス
から参照 "_getString" を、返さ
LD:記号(S)
collect2はのARMv7アーキテクチャが見つかりません:ldは
1つの終了ステータスを返し、私はstumよペッド!前もって感謝します!
ので、問題は、それが客観Cで書かれていることでしょうか? – SirYakalot
これは実際に問題を解決しましたが、問題は実際には対話型のC言語で記述する必要があることです。これはお勧めしませんか? – SirYakalot
Unityはhttp://unity3d.com/support/documentation/Manual/Plugins.htmlによるといいえ私は間違ってはいけません:もちろんObj-Cでプラグインコードを書くことはできますが、プラグインを呼び出すC#/ JS用のプレーンC。私のライブラリは50以上のクラスを持ちますが、1つのリーンCインターフェイスを備えています。 – Kay