vs2013 调试出现error LNK1104: 无法打开文件“libprotocd.lib”

在将谷歌的protobuf数据格式运用到vs2013中时,遇到error LNK1104: 无法打开文件“libprotocd.lib”文件,但之前添加过protobuf编译的文件到vs的附加文件目录中去了,分析原因应该是库文件的路径没有添加进去,整理网上的回答,希望可以减少踩坑。

1.问题描述

项目工程中需要用到谷歌的protobuf进行数据通信,在网上下载了protobuf源码,进行cmake编译,并将编译和安装后的文件添加到项目工程中,但是仍然出现以下问题:
无法打开文件
但是在之前的配置中却已经将protobuf编译后的文件加入到属性配置中,如下图所示:
vs2013 调试出现error LNK1104: 无法打开文件“libprotocd.lib”_第1张图片
在编译之后仍然出现问题。

2. 问题分析

首先,确认是否能够找到这个文件,如果是cmake对protobuf编译失败可能没有这个文件,当然,这里是在编译之后的debug目录下是能找到的;那么有可能是该库文件没有添加到工程中,或者路径添加有问题,这里最后确认是因为库文件的路径没有添加进去,导致工程项目找不到该文件。

3.解决办法

了解到原因后,解决方式就是需要将对应的文件路径添加到依赖中去,其详细步骤如下:
步骤1:定位报error LNK1104: 无法打开文件“libprotocd.lib”,找到它所在的目录,可以在protobuf\cmake\build\debug目录下找到该文件。
vs2013 调试出现error LNK1104: 无法打开文件“libprotocd.lib”_第2张图片
步骤2:添加该项目的附加路径 。
右键项目属性——>VC++目录——>库目录,然后将刚刚找到的文件的路径添加进去即可。
vs2013 调试出现error LNK1104: 无法打开文件“libprotocd.lib”_第3张图片
vs2013 调试出现error LNK1104: 无法打开文件“libprotocd.lib”_第4张图片
步骤3:重新编译生成,问题可以得到有效解决。

你可能感兴趣的:(编程路上的错误,c++,visual,studio)