リモートサーバーとの通信を試みるhaxeプログラムを作成しました。私はC++ターゲットにうまくコンパイルできました。実行ファイルは私のシステム上で正常に動作します。しかし、私は別のWindowsボックス上で同じことを実行しようとすると、それは次のようなエラーHaxe - C++スタンドアロンの実行可能ファイルを作成する
エラーで失敗します。私は、魔法のように働いたhaXeのとhxcppをインストールsocket_init__0
@モジュールSTDをロードできませんでした。 。私はexeを実行することができました。私は今、hxcppに依存していることを理解しています。
スタンドアロンアプリケーションを作成するにはまだ問題は解決していません。いくつかの調査の後、私は私の問題を解決するかもしれないと思う次の指示でファイル(ExampleMain.CPP)を見つけました。しかし、私は初心者であり、それほどフォローしていません。誰かがこれで私を歩くことができますか?おかげ
ExampleMain.CPP
これは、静的なバージョンをリンクするために使用することができる。例えばメインラインです。
CD $ HXCPP /ランタイムの
haxelibの実行hxcpp BuildLibs.xml -Dstatic_link
次に静的verion: まずあなたがして、標準のlibsの静的バージョンを構築する必要があります( 'static_link' の前に余分なスペース注):使用してアプリケーション
haXeの-main YourMain -cpp CPP -D static_link
上記のライブラリをこの(または変更されたバージョンの)メインにリンクする必要があります。 VisualStudioプロジェクトを作成し、 $ HXCPP/bin/Windows /(std、regexp、zlib).libとアプリケーションライブラリのライブラリを追加することができます。
-debugフラグを指定してコンパイルすると、ライブラリの名前が異なることにも注意してください。
CL ExampleMain.cppのCPP/YourMain.lib $ HXCPP/binに/ Windowsの/ std.lib$ HXCPP:Windows用のコマンドライン(user32.libのみデバッグバージョンのために必要な)からのリンク
/bin/Windows/zlib.lib $ HXCPP/bin/Windows/regexp.lib user32.lib
他のOSの場合は、compile + linkコマンドが異なります。ここではMac用のいずれかです。
G ++ ExampleMain.cpp CPP /テスト-debug.aの$ HXCPP/binに/マック/ regexp.a$ HXCPP/binに/マック/ std.aます$ HXCPP/binに/マックあなたはこれらの3以外の他の静的ライブラリを追加したい場合は
/zlib.a(例えば、NME)あなたは あまりにも「-Dstatic_link」フラグを使用してこれらをコンパイルし、そして彼らの「register_prims」 のinitコールを呼び出す必要があります。余分な静的ライブラリを含めるには、リンク行にライブラリ が必要であり、リンクするには追加の依存関係が必要な場合があります。 静的リンクの第三者ライブラリ にライセンスの影響があることにも注意してください。