2016-05-02 6 views
0

自分でcppライブラリを作成していますが、<root>/includeというフォルダにdeaderファイルを置き、<root>/srcフォルダにcppファイルを入れました。私のインクルードパスを環境に追加するために、<root>/includeCPLUS_INCLUDE_PATHを追加しました。今、私が直面している問題は、リンカーが自分のクラスの実装を見つけることができないため、リンクの段階でエラーが発生していることです。私がヘッダーファイルのやり方と同じように言える環境変数はありますか?cppソースファイルの場所を設定するための環境変数

+0

どのコンパイラを使用していますか? –

答えて

1

これはできません。リンカーはコンパイルされたコードを必要とし、ソースファイルを処理できません。あなたは、/ srcフォルダ内のすべてのソースファイルをコンパイルし、コンパイルされたファイルをターゲットにリンクするMakefileを記述することができます。これを行うのMakefileの例:make your_app、またはmakeを:

ROOT = YOUR_ROOT_DIRECTORY_HERE 
LDFLAGS = OPTIONS_TO_LINKER_HERE 
CPPFLAGS = OPTIONS_TO_COMPILER_HERE 

SRC=$(wildcard $(ROOT)/src/*.cpp) 

your_app: $(SRC) 
    g++ $(CPPFLAGS) $(LDFLAGS) -o [email protected] $^ 

使用してアプリケーションをコンパイルします。