亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的問題是:如何修改 VC++ Directories 設置才能避免這種情況?

我的問題是:如何修改 VC++ Directories 設置才能避免這種情況?

鳳凰求蠱 2023-04-15 13:09:59
前提:有一個放在 Git 上的 Visual C++ 2012 Express 工程,需要引用外部的 libcurl 庫(沒有包含在版本庫中)。當前使用的引用的方法是在工程屬性 VC++ Directories 里的 Include Directories 和 Library Directories 添加我機器上的相應路徑(D:\libcurl\XXX)。但這樣一來,這個路徑就保存在了 .vcxproj 工程文件里。如果別人的 libcurl 路徑與我不同,那么他 clone 后想要成功編譯工程只能:修改工程屬性中的路徑(工程文件變為被修改的狀態,潛在的沖突/強迫癥)把自己的 libcurl 放到 D:\libcurl\XXX(不靈活,強制指定了路徑)(如果是 Visual C++ 2008 之前的版本,那么可以在 Tools->Options 里設置全局的 VC++ Directories。從而可以不修改工程文件,而是把自定義的外部庫路徑加到自己的全局設置里。但新版本中已經沒有辦法這樣做了。)
查看完整描述

2 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

一般的做法是定義成環境變量,比如
LIBCURL_INCPATH
LIBCURL_LIBPATH

然后加入工程路徑
$(LIBCURL_INCPATH)
$(LIBCURL_LIBPATH)

當然直接修改vcxproj也不大好, 所以最好用Property Manager, 放到一個.props的文件中,比如:

<?xml version="1.0" encoding="utf-8"?><Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <IncludePath>$(LIBCURL_INCPATH);$(IncludePath)</IncludePath>
    <LibraryPath>$(LIBCURL_LIBPATH);$(LibraryPath)</LibraryPath>
  </PropertyGroup></Project>

另外,如果會CMakeGYP之類的工具, 就簡單多了,工程文件直接生成就行了。


查看完整回答
反對 回復 2023-04-18
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

vs2008貌似把目錄設置移到了項目屬性里面.

來說下我的辦法:
1>使用VC++目錄(項目屬性)-這個需要改動工程文件
2>使用符號鏈接,我把所有的sdk目錄固定在c:/sdk.如果機器上的sdk目錄不在c:/sdk里,通過符號鏈接映射過去
好處:不用改工程設置,不用在乎sdk的目錄設置,而且方便sdk版本切換


查看完整回答
反對 回復 2023-04-18
  • 2 回答
  • 0 關注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號