2017-03-10 13 views
7

私は、Windowsシステムを使用している人に利用可能にしたいHaxeアプリケーションがあります。私はアプリケーションをローカルで実行するためにHashlinkを使用しています。とてもうまく動作します。HasheアプリケーションをHashlinkとともに配布するにはどうすればよいですか?

私はアプリケーションをHashlinkで配布するはずですか?それは私に.exeを構築できますか?

答えて

11

それは配布バイナリファイルを生成するように見えますが、今日箱から出して(2017年3月10日)がサポートされていません。

> haxe -main Main -hl main.c 
Code generated in main.c automatic native compilation not yet implemented 

うまくいけば、それはすぐにサポートされます!

注:私はハッシュリンクを使用して最終的な実行可能ファイルを構築する方法について話しています。私がここでカバーしていない全く別のアプローチは、出力hlビットコードでハッシュリンク仮想マシンを提供する可能性です。

ここでは読書を止めています。

しかし、その間に...それはあなたがソースからhashlinkをビルドする場合は、今日hashlinkでバイナリを生成する可能です。

警告:

  • これは、あなたの質問への一般的な、クロスプラットフォームの答えではありません - それは、Linux上でちょうど私の経験です。
  • おそらく間もなくこれよりもすぐれた方法があります。
  • しかし、私は後で思い出すためにも、このメモを書き留めたいと思っていました。

は、ここで私はUbuntuの14.04、64ビットにしなければならなかったものです:

はHLを構築するための前提条件のライブラリをインストールします(ビルド不可欠、などのように私はすでにインストールされている他の人があるかもしれない)

(REVノート: b5ba28)hashlink再

cd ~/dev/ 
git clone https://github.com/ARMmbed/mbedtls.git 
cd mbedtls 
make CFLAGS='-fPIC' 

クローン

sudo apt-get install libvorbis-dev libturbojpeg libsdl2-dev libopenal-dev libssl-dev 

クローンとmbedtlsライブラリを構築PO:(REV注:eaa92bMakefile# Linuxセクションで

cd ~/dev/ 
git clone https://github.com/HaxeFoundation/hashlink.git 
cd hashlink 

、〜67行は、これらのフラグを追加します。

CFLAGS += -I ../mbedtls/include 
LIBFLAGS += -L../mbedtls/library 

今、すべてが動作する場合make

で構築し、 2つの重要な出力ファイルが表示されます。hllibhl.so

彼のポイントは、プロジェクトをhashlinkディレクトリに構築するのが最も簡単です。たとえば:

# Still in the hashlink directory 
haxe -cp /path/to/my/project -debug -main Main.hx -hl src/_main.c 

は今make hlcを実行し、すべてが動作するかどうか、hlcは(libhl.soに依存)、出力実行可能である:

cp libhl.so hlc /tmp/ 
cd /tmp/ 
./hlc 

プリント:

Main.hx:7: Hello world! 
+0

おかげで、ジェフ、このため! – Cambiata

関連する問題