vs2013 調試出現error LNK1104: 無法打開文件“libprotocd.lib”

在將谷歌的protobuf數據格式運用到vs2013中時,遇到error LNK1104: 無法打開文件“libprotocd.lib”文件,但之前添加過protobuf編譯的文件到vs的附加文件目錄中去了,分析原因應該是庫文件的路徑沒有添加進去,整理網上的回答,希望可以減少踩坑。

1.問題描述

項目工程中需要用到谷歌的protobuf進行數據通信,在網上下載了protobuf源碼,進行cmake編譯,並將編譯和安裝後的文件添加到項目工程中,但是仍然出現以下問題:
無法打開文件
但是在之前的配置中卻已經將protobuf編譯後的文件加入到屬性配置中,如下圖所示:
屬性配置
在編譯之後仍然出現問題。

2. 問題分析

首先,確認是否能夠找到這個文件,如果是cmake對protobuf編譯失敗可能沒有這個文件,當然,這裏是在編譯之後的debug目錄下是能找到的;那麼有可能是該庫文件沒有添加到工程中,或者路徑添加有問題,這裏最後確認是因爲庫文件的路徑沒有添加進去,導致工程項目找不到該文件。

3.解決辦法

瞭解到原因後,解決方式就是需要將對應的文件路徑添加到依賴中去,其詳細步驟如下:
步驟1:定位報error LNK1104: 無法打開文件“libprotocd.lib”,找到它所在的目錄,可以在protobuf\cmake\build\debug目錄下找到該文件。
找到編譯的libprotocd.lib文件
步驟2:添加該項目的附加路徑 。
右鍵項目屬性——>VC++目錄——>庫目錄,然後將剛剛找到的文件的路徑添加進去即可。
庫目錄
在這裏插入圖片描述
步驟3:重新編譯生成,問題可以得到有效解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章