c++中的协议缓冲区和错误LNK2019:未解析的外部符号
Protobuffers in c++ and error LNK2019: unresolved external symbol
我是c++和visual studio 2012的新手,所以问题可能出在屏幕和椅子之间。我执行了以下步骤;
- 我用optimize_for=LITE_RUNTIME选项制作了一个简单的原型文件
- 使用protoc创建匹配的h和c文件
- 编译库libprotobuf-lite.lib
- 创建了一个新的控制台Visual Studio 2012项目
- 复制了我的单个源文件所在的libprotobuf-lite.lib
- 创建了一个名为protobuffers的新文件夹
- 将c、h和google目录从protobuffers src目录复制到protobuffers文件夹
- 添加protobuffers文件夹作为附加Include目录
- 通过附加依赖项将库文件添加到链接器
-
编译了以下源文件;
#include <iostream> #include "protobuffersgenome.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:Projectstestprotox64Debugtestproto.exe : fatal error LNK1120: 2 unresolved externals
所以我知道它不是一个丢失的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
声明CCD_ 1和CCD_ 2的源文件不是项目的一部分。
特别是,听起来您还没有将genome.pb.cc
文件(由Protocol Buffers编译器创建)添加到项目中。
相关文章:
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 未解析的外部符号_MsiLocateComponentW@12.
- 在C++中使用 gRPC 时未解析的外部符号
- LibPrivoxy: 未解析的外部符号 __declspec(dllimport) int __stdcall Sta
- 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,我收到未解析的外部符号 winrt_make_*
- 我收到错误LNK2001:未解析的外部符号(C++代码)
- 可视抽象类 c++(错误 LNK 2001:未解析的外部符号)
- 如何摆脱C++中未解析的外部符号"private: static char"错误?
- 当 lib 已添加到其他依赖项时,如何在 VS 中调试未解析的外部符号错误
- 仅在少数方法(静态或共享库)中解析的外部符号
- 未解析的外部符号"__declspec(dllimport)与 Spdlog c++ 库
- 函数 _main (OPENGL C++) 中引用的未解析的外部符号 ________
- 错误LNK2019未解析的外部符号"public: __thiscall SLinkList<char>::SLinkList<char>(void)"
- 使用静态 constexpr 成员的未解析外部符号
- 引入参数化构造函数后显示 LNK 2019 未解析外部符号的代码错误
- Dlib LNK2001未解析的外部符号USER_ERROR__consistent_build_configurati
- 矛盾的未解决的外部符号+未使用的库与VS2017和FFMPEG 4
- 链接器错误:切换到unicode生成给出:未解析的外部符号WinMain
- 类模板上一个特定函数的未解析外部符号
- LNK2001:未解析的外部符号public:static类std::vector