2011-10-30 13 views
6

次の質問があります。 私は、アプリケーションをビルドするというタスクを与えられました。準備ファイルcounter.hと他のファイルcounter.objがありました。 counter.hには関数の宣言しかないことが判明しました。コンパイルするために.objファイルを.cppファイルにどのように含めることができますか?私はMicrosoft Visual Studio 2010を使用しています - そして、ファイル自体はどのフォルダに置かなければなりませんか?プロジェクトに.objファイルを含める方法

答えて

11

cpp-filesと同じようにobjファイルをソリューションに追加します(通常はドラッグ&ドロップで行います。つまり、Windowsエクスプローラからファイルをドラッグしてドロップします)。 Solution Exporerウィンドウ)。

obj-fileをcpp-filesと一緒に置くことができます。それは本当に重要ではありません。

+0

ありがとう)これはかなりうまくいった!=) –

+0

これは私にとっては役に立たなかった。なぜ私は考えていない。 – Owl

+0

@Owlあなたはそれについて質問をするべきです。あなたの正確な状況、試したこと、失敗した方法を説明してください。 – anatolyg

4

オブジェクトファイルをcppファイルに含めることはできません。
コンパイラはcppファイルをコンパイルし、各cppファイルのobjファイルを生成します。これらのファイルはさらにリンクされ、ライブラリまたは実行可能ファイルが作成されます。

通常、ライブラリ(.libまたは.dll)をアプリケーションにリンクし、それらがあなたと一緒にいるかどうかを確認します。

ない場合は、

次の方法でアプリケーションにオブジェクトファイルをリンクしてみてください:"Property Page"から[プロパティ]を投影する
移動ノードを選択"C/C++"そのあなたは"Additional Include Directories"があなたのオブジェクトの名前を追加取得しますfile.Keepソースコードがあるディレクトリのobjファイル、またはディレクトリを追加することができます。
Tools->Options->Projects and Solutions->VC++Directories

私は学術プロジェクトを除いて2度目の試みは一度もありませんでしたが、これは数年前のことでしたので、MSDNに関する情報を確認してください。

+0

しかし、私がCounter.hクラスの宣言だけを持っていて、その関数の定義がないなら、私は何をしなければなりません!クラスの実装を知る必要はありませんが、私はコンパイルするために自分のcppが必要です - コンパイラはエラーLNK2019:未解決の外部シンボル "public:関数_mainで参照されている__thiscall Counter :: Counter(int) "(?? 0Counter @@ QAE @ H @ Z) –

+0

@ArtemMoskalev:これは**リンカのエラーです**リンカは関数の定義を見つけることができませんでしたオブジェクトファイルで、私が答えで更新したメソッドを試してください。 –

+0

致命的なエラーLNK1120:解決されていない1つの外部 - まだそれは見つからない!たぶん、ファイルへのパスをどのように表示するかは、大丈夫でしょうか?私はそれをmain.cppが存在するディレクトリに置き、リンカが書いた:counter.obj –

関連する問題