c+中的Protobuffers+;和错误LNK2019:未解析的外部符号 我对C++和Visual Studio 2012是新的,所以问题可能是在屏幕和椅子之间。我执行了以下步骤 我制作了一个简单的proto文件,带有optimize\u for=LITE\u RUNTIME选项 使用protoc创建匹配的h和c文件 编译库libprotobuf-lite.lib 创建了一个新的控制台Visual Studio 2012项目 复制了我的单个源文件所在的libprotobuf-lite.lib 已创建名为protobuffers的新文件夹 将c、h和google目录从protobuffers src目录复制到protobuffers文件夹 添加protobuffers文件夹作为附加的包含目录 通过其他依赖项将库文件添加到链接器
编译了以下源文件c+中的Protobuffers+;和错误LNK2019:未解析的外部符号 我对C++和Visual Studio 2012是新的,所以问题可能是在屏幕和椅子之间。我执行了以下步骤 我制作了一个简单的proto文件,带有optimize\u for=LITE\u RUNTIME选项 使用protoc创建匹配的h和c文件 编译库libprotobuf-lite.lib 创建了一个新的控制台Visual Studio 2012项目 复制了我的单个源文件所在的libprotobuf-lite.lib 已创建名为protobuffers的新文件夹 将c、h和google目录从protobuffers src目录复制到protobuffers文件夹 添加protobuffers文件夹作为附加的包含目录 通过其他依赖项将库文件添加到链接器,c++,visual-studio-2012,protocol-buffers,C++,Visual Studio 2012,Protocol Buffers,编译了以下源文件 #include <iostream> #include "protobuffers\genome.pb.h" int main() { genomeMessage::Genome genome; return 0; } 所以我知道它不是丢失的lib文件,因为如果我移动lib文件,链接器会抱怨它找不到它。问题是我不知道如何解决这个问题。。。有人吗?根据此消息: 1>Source.obj : error LNK2019: unresolved
#include <iostream>
#include "protobuffers\genome.pb.h"
int main()
{
genomeMessage::Genome genome;
return 0;
}
所以我知道它不是丢失的lib文件,因为如果我移动lib文件,链接器会抱怨它找不到它。问题是我不知道如何解决这个问题。。。有人吗?根据此消息:
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
声明genomeMessage::Genome::Genome(void)
和genomeMessage::Genome::~Genome(void)
的源文件不是项目的一部分
特别是,听起来您好像没有将genome.pb.cc
文件(由协议缓冲区编译器创建)添加到项目中。如果右键单击genomeMessage::genome中的“genome”并选择“Go to Symbol”,您能看到头文件中定义的符号吗?如果是,则所选答案有效。如果不是,则所选答案不是(对于这种特殊情况),您可能需要使用LIBPROTOBUF_导出导出符号
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