私はクロスプラットフォームのC++アプリケーションを開発していますが、当面はlinuxで動作するようになっています。このアプリは、PocoやBoostのようなサードパーティのライブラリを使用しています。Ubuntu Desktopのバージョンで作業しています。ヘッダーはusr/local/includeに含まれていますが、.soファイルはusr /ローカル/ lib。
このアプリを配布したいのであれば、自分のソースコード(実行可能ファイル)+サードパーティのライブラリのヘッダとファイルをパッケージ化するだけで十分です。アプリを実行するには?サードパーティ製のライブラリを使ったLinux C++配布可能なアプリケーションのデプロイ
答えて
第三者コードのライセンスを確認してください。それがGPLの場合、あなたのダウンロードにソースコードのtarballを含めてください。後で何かの責任を負うことはないので、最も簡単です。そうしないと、Debian/Ubuntuがアーカイブミラーから6年後にそれを取り除いても、それを求めている人のためにソースを生成することには依然として責任があります。
次に、コードをスタンドアロンのLinuxアプリケーションにすることに目を向けます。これを行うには、必要な共有ライブラリをすべて自分のディレクトリに入れます。境界を定義する場所を選択します。システムのCライブラリ、OpenGL、SDLなどに頼ることができ、それらを束ねる必要はありません。
$0
(スクリプトの完全名であるsh
という変数)を使用するシェルスクリプトを作成して、実行中の場所を調べます。 LD_LIBRARY_PATH
をdirname "$0"
に設定してからexec realprogram [email protected]
このようにすれば、将来的にシステムでコードを実行できます。 Quake 3がLinux用にどのようにパッケージ化されているかを見てください。
私は私の例でこの方法で間違っている場合は、私はIDEまたはMakefileの例でビルド手順からこのフォルダを除外するための方法を見つけることができなかったので、usr/local/includeの – dk13
- 1. 配布可能なDLLのC#クラスラッパー
- 2. デプロイ可能なC#アプリケーションを使用したオフィステンプレートの保存
- 3. ランタイム再配布可能なC++バイナリを再配布可能(Server2k3、XPSP3)
- 4. web.xmlのないアプリケーションをTomcatセッションレプリケーションのために配布可能
- 5. Visual C++の再頒布可能な再配布
- 6. 商用製品用の配布可能なASP.NET Webサーバー
- 7. clojarsを使った単純なライブラリの配布
- 8. サードパーティ製のUI要素を含むデザイン時パッケージの配布
- 9. extjsパッケージのベンダー/サードパーティ製ライブラリ
- 10. Fortifyとサードパーティ製のライブラリ
- 11. Cアプリケーションにサードパーティのライブラリを含める
- 12. 可能性の重複サードパーティのライブラリ
- 13. 無料配布可能なXMLエディタ/バリデータ
- 14. GWTを使用して配布可能なライブラリを作成する
- 15. LinuxプロダクションサーバにC/C++実行可能ファイルを継続的にデプロイ
- 16. Node.jsのコンフィグレーションファイル配布可能なパッケージ
- 17. Prestashopサードパーティ製のアプリケーションのログイン
- 18. Visual C++再配布可能なダウンロード固有のバージョン
- 19. LinuxでQTアプリケーションを配布する
- 20. FMX FireMonkeyフォームグラフUIのライブラリ、サードパーティ製のプラグイン
- 21. Sparkでシリアル化できないサードパーティ製ライブラリの使用方法
- 22. MPI配布コンテナ用のC++ライブラリ
- 23. Android用の再配布可能なコンポーネントやライブラリを作成する
- 24. C++ 2008再配布可能パッケージの再配布は禁じられていますか?
- 25. Linux/Windows配備可能なOpenGLウィンドウとOSライブラリ
- 26. Linuxで実行可能なWindowsのGNUを使ったクロスコンパイル
- 27. Rubyスタンドアロンアプリのデプロイ/配布
- 28. DirectX Webインストーラライセンス、配布可能?
- 29. Arduino配布可能プログラムファイル
- 30. Qtサードパーティ製ライブラリとの静的リンク
なぜアプリケーションバイナリでcppファイルとヘッダーファイルを配布する必要があると思いますか? – IInspectable
まず、使用しているすべてのライブラリのライセンスを読んでください。 – deviantfan
いくつかのLinuxディストリビューションにパッケージされているこれらの事柄のうちのいくつかを持っている人といえば、独自のコードをパッケージ化して、独自のウェアーズをコンパイルしてインストールするために依存関係をインストールする必要があります。独自のRPM仕様ファイルを提供する場合、または独自のパッケージの一部として同等の機能を実行するために必要なAPTを提供する場合は、フリーブラッディーポイントを使用します。 –