私はC ++とVisual Studio 2012が初めてなので、おそらく問題はスクリーンと椅子の間にあります. 次の手順を実行しました。
- オプションoptimize_for = LITE_RUNTIMEを使用して簡単なprotoファイルを作成しました
- protoc を使用して、一致する h および c ファイルを作成します。
- ライブラリ libprotobuf-lite.lib をコンパイルしました
- 新しいコンソール Visual Studio 2012 プロジェクトを作成しました。
- 私の単一のソースファイルがある libprotobuf-lite.lib をコピーしました。
- protobuffers という名前の新しいフォルダーを作成しました
- c、h、および google ディレクトリを protobuffers src ディレクトリから protobuffers フォルダにコピーしました
- protobuffers フォルダーを追加のインクルード ディレクトリとして追加しました
- 追加の依存関係を使用して、ライブラリ ファイルをリンカーに追加しました。
次のソース ファイルをコンパイルしました。
#include <iostream> #include "protobuffers\genome.pb.h" int main() { genomeMessage::Genome genome; return 0; }
立ち往生...次のエラーが表示されます。
1>Source.obj : error LNK2019: unresolved external symbol "public: __cdecl genomeMessage::Genome::Genome(void)" (??0Genome@genomeMessage@@QEAA@XZ) referenced in function main 1>Source.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl genomeMessage::Genome::~Genome(void)" (??1Genome@genomeMessage@@UEAA@XZ) referenced in function main 1>C:\Projects\testproto\x64\Debug\testproto.exe : fatal error LNK1120: 2 unresolved externals
libファイルを移動すると、リンカが見つからないと文句を言うので、libファイルが見つからないことはわかっています。問題は、これを修正する方法がわからないことです...誰か?