タイトルはほぼポイントに達していると思います。私がやろうとしているのはサーバーを書くことです。これがそのことです:
サーバーの分離可能な部分を異なるプロジェクトに分離したいと思います。たとえば、プロジェクト「ServerNetworkStuff」と「ServerGameLogicStuff」を静的ライブラリまたは共有ライブラリの2つのプロジェクトに作成したいとしました。
次に、これら2つのプロジェクトをライブラリとして使用する別のプロジェクト「サーバー」を作成します。
Eclipse Projects:
- ServerNetworkStuff (static library)
- ServerGameLogicStuff (shared library)
- Server (using ServerNetworkStuff, ServerGameLogicStuff)
それも可能ですか?または、車輪の再発明を強制しない同等の解決策はありますか?
ご協力ありがとうございました!
編集:
[プロジェクト]>[プロパティ]>[C/ C++一般]>[パスとシンボル]>[参照]でアクティブモードへの参照を追加すると、機能しません。コンパイラがヘッダーファイルを見つけることができません。ヘッダーファイルにパスを追加すると、「未定義の参照」エラーが発生します。
部分的な解決策:
*これでコンパイルされます...しかし、現時点では実行は機能しません。
私が最初に行ったのは、プロジェクト「Server」(実行可能)とServerNetwork(共有ライブラリ)を作成することでした。ServerNetwork参照をサーバーに追加した後、やるべきことがいくつか残っていました。
インクルードをから変更する必要がありました
#include <include/ServerThread.hpp>
に
#include "ServerThread.hpp"
プロジェクトで使用している共有ライブラリを意味するものではありません。自分のクラスの参照用に変更しただけです。
ServerNetworkを使用したい私のプロジェクトサーバーでは、g++のパラメーターとして-lServerNetworkと-fPICを追加する必要がありました。
さらに、.so-fileに含まれるフォルダーをライブラリパスに追加する必要があります(特定のプロジェクトを参照として追加すると、Eclipseが自動的に実行する必要があります)。*