|
分類:[C/C++]
開発環境:Windows7 Visual Studio 2013 開発言語:C++(MFC) プロジェクト設定: MFCの使用:スタティックライブラリを使用する 文字セット:マルチバイト文字セット VC++ディレクトリ:既定値のまま 追加のインクルードディレクトリ:$(SolutionDir)Common\Hoge\src; $(SolutionDir)Common\Hoge\vendor\...\include(...は省略です) 追加のライブラリディレクトリ:$(SolutionDir)Common\Hoge\vendor\...\lib
現在以下の様なフォルダ構成でのプロジェクト(Updater)を作成しています。 Commonフォルダはこのプロジェクト以外でも使用する共通部分のソース、ライブラリ等が含まれています。 Updaterプロジェクトには、srcフォルダからヘッダー、ソースをインポート(?)しています。 インポートはsrcフォルダにあるファイルをソリューションエクスプローラーにドロップしました。
エラーとなっているのは、UpdaterプロジェクトにインポートしたBase64.cppで、 ファイルの先頭に「#include "stdafx.h"」と記述してあるのですが、それがどうしてもエラーになり、解決できません。 どのようにすればいいのでしょうか?
まず何もせずにインポートしただけの状態のエラーは、次の様なものです。 ただし、こちらは正常にビルドでき、実行もできます。 ・IntelliSense: ソース ファイルを開けません "StdAfx.h" ・「IntelliSense: 識別子 "CString" が定義されていません」等の定義されてませんが沢山。 試したこと:インテリセンスのエラーなので、sdfファイルの削除 -> 何も変わらず
次にファイルがうまく開けていないのなら、パスを指定して書いてみては?と思ったので「#include "../../../Updater/stdafx.h"」としました。 しかし今度は別のエラーになりました。 ・warning C4627: '#include "../../../Updater/stdafx.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました ・warning C4627: '#include "Base64.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました ・error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? #相対パスで書いてみたものの、こちらは的外れな気がしてます。
[ソリューションフォルダ] ┣[Common] ┃ ┗[Hoge] ┃ ┣[src] ┃ ┃ ┣Base64.h ┃ ┃ ┣Base64.cpp ┃ ┗[vender] ┃ ┣略... ┣[Updater] ┃ ┣stdafx.h ┃ ┣Base64.h(インポートしたもの) ┃ ┣Base64.cpp(インポートしたもの) ┃ ┣各ファイル略... ┗Updater.sln
|