1. 程式人生 > >#pragma comment(lib,"AddLib.lib") 和附加依賴項新增的區別

#pragma comment(lib,"AddLib.lib") 和附加依賴項新增的區別

    一直以為這兩者之間沒有什麼區別,直到前段時間自己寫了2個庫,才發現還是有不同之處的。下面用例項來說明:

    [準備]

    有2個靜態連線庫:AddLib、Calc,一個測試工程Test(VS2013)

    其中AddLib提供了函式介面:int add(int x, int y);

     Calc提供函式介面:int calc(int x, int y);  // calc中呼叫add

      測試程式Test:printf("calc:%d\n", calc(10, 15));

     [測試]

     1.Calc中使用附加依賴項中加入AddLib.lib

         Test連結時只需要有Calc.lib就可以了

     2.Calc中使用#pragma comment(lib,"AddLib.lib")

         Test連結時不僅需要Calc.lib、還需要AddLib.lib,而且可以發現這是Calc.lib檔案大小要比1中小。

      [結論]

        也就是說在附加依賴項中新增AddLib.lib,在生成Calc.Lib時就已經把add連結進Calc中了,而#pragma comment卻沒有。 

     具體原理不清楚。

相關推薦

#pragma comment(lib,"AddLib.lib") 附加依賴新增區別

    一直以為這兩者之間沒有什麼區別,直到前段時間自己寫了2個庫,才發現還是有不同之處的。下面用例項來說明:     [準備]     有2個靜態連線庫:AddLib、Calc,一個測試工程Test(VS2013)     其中AddLib提供了函式介面:int add(

關於連結器附加依賴裡面新增legacy_stdio_definitions.lib解決標準庫檔案不全的問題

今天將vs2013的c++檔案用vs2017重新載入,發現如下問題 錯誤 LNK2019 無法解析的外部符號 __imp__vsnprintf,該符號在函式 __glfwInputError 中被引用 錯誤 LNK2019 無法解析的外部符號 __imp

Visual Studio 2017 第三方依賴設定,附加依賴附加庫目錄

Visual Studio 2017 第三方依賴。需要做的事情有:1、指定標頭檔案所在目錄。2、指定需要使用到的lib。3、指定lib資料夾,也就是程式碼的實現部分所在的目錄。 附加依賴項 是指輸入項,如某個.LIB檔案。 附加庫目錄 是你用 #pragma

解決OpenCVVisual Studio更新之後刪除附加依賴繼承的問題

國慶假期期間把OpenCV由2.4.10更新到3.0版本,Visual Studio由2010更新到2015社群版。重新配置後問題來了,編譯程式老是顯示“fatal error LNK1181: 無法開啟輸入檔案“opencv_calib3d2410.lib”。 原因是"

包含目錄、庫目錄、附加包含目錄、附加庫目錄、附加依賴如何使用? 及靜態庫,動態庫的建立與呼叫vs裡引用的使用

引言:vs中怎麼新增外部標頭檔案?如過直接在專案標頭檔案處,新增一下,如下圖:則,依然會報錯,如下圖:有兩種方法,來解決(你不在vs上的新增它也沒事):(1) 直接把外部標頭檔案複製過來,放在此專案下即與該專案cpp檔案同一目錄,如下圖:(2)專案右鍵,屬性裡的C/C++ 

包含目錄、庫目錄、附加包含目錄、附加庫目錄、附加依賴如何使用? 及靜態庫,動態庫的創建與調用vs裏引用的使用

pragma 經驗 dll blog res 編譯器 rdquo 編譯期 靜態 https://blog.csdn.net/Young__Fan/article/details/80528740 引言:vs中怎麽添加外部頭文件?如過直接在項目頭文件處,添加一下,如下

vs 外部依賴 附加依賴以及如何新增依賴專案

我們在 VS 中建立 Win32 控制檯應用程式,vs 會為解決方案建立預設地建立 4 個 filters(資源管理器中沒有對應的目錄和資料夾): 標頭檔案:一般為 .h 檔案 外部依賴項 原始檔:一般為 .cpp檔案 資原始檔 1. 外部依賴項 & 資原

VS中C++的包含目錄、附加包含目錄庫目錄附加庫目錄的區別

文章轉自[VS中C++的包含目錄、附加包含目錄和庫目錄和附加庫目錄的區別],版權歸[TheOneGIS]所有 對Visual Studio中C++的包含目錄、附加包含目錄和庫目錄和附加庫目錄的區別不是很清楚,參考別人的文章整理出來的。供大家分享學習! Visual Studio C++工程中

【VS2010]新人求教如何刪除【附加依賴】中“繼承的值”? [問題點數:40分]

源連結 https://bbs.csdn.net/topics/390733725求教如何才能刪除,之前用過opencv,現在不需要用了,但是每次新建專案都還是會在專案中自動包含。在網上查了很久的方法,憑個人能力實在是無法解決了,希望教大神指點個方向。 在屬性窗口裡左上角的【

附加依賴值的快速求取(opencv+vs)

現在我想要這個資料夾下的所有*.lib檔名列表 呼叫cmd執行視窗 輸入‘tree "E:\opencv\newbuild\install\x64\vc15\lib" /f > e:\1.t

包含目錄、庫目錄、附加包含目錄、附加庫目錄、附加依賴之詳解

VS專案中的包含目錄、庫目錄、附加包含目錄、附加庫目錄、附加依賴項均在"專案->屬性->配置屬性"下進行配置,具體說明如下: VC++目錄:     包含目錄:尋找#include<xxxx.h>中的xxxx.h的搜尋目錄     庫目錄:尋找.

C++ 包含目錄、庫目錄、附加依賴總結

在使用opencv庫,以及其他庫的時候,經常會需要新增包含目錄、庫目錄、附加依賴項等。現做一個總結吧。 1、包含目錄 是.h的標頭檔案所在的目錄,如果沒有正確包含目錄,程式碼中會出現紅色的警告,各種未定義的識別符號。 新增庫目錄的絕對路徑自然不必多說。 講下新增相對路徑的一

VS2015怎樣設定附加依賴

1,首先選中修改的專案,單擊右鍵,選則屬性。 2然後擊選中連結器 3再單擊輸入選項,這時你就能看到附加依賴項了,單擊附加依賴項的下鈕選擇編輯 4現在你可以把自己需要的庫加進來了,然後點選確認,設定完成。

OpenCV 3.2.0附加依賴

OpenCV 3.2.0  各種庫列表(release), debug後面加d。 opencv_calib3d320.lib opencv_core320.lib opencv_features2d3

如何檢視dll附加依賴(轉載)

轉自:http://www.cnblogs.com/wind-net/archive/2012/09/14/2685336.html 開始->所有程式->Microsoft Visual Studio 2008 ->Visual Studio Tool

VS附加依賴以及Opencv配置問題

VS2012 opencv 無法刪除“繼承的值”問題解決方案 2017-03-26 轉自 勤奮不止 修改 微信 分享: 解除安裝OpenCV後發現VS2010每次編譯時仍然會載入opencvd的dll,原因在於“附加依賴項”仍然包含OpenCV的專案,但是卻不是如

Cmake 實現debugrelease lib依賴處理

一、說明   最近用cmake開發東西,編譯vs時候,發現debug和release版本的lib庫的依賴項問題

Missing artifact net.sf.json-lib:json-lib:jar:2.4錯誤Eclipse安裝Maven插件錯誤

選擇 dma dig tps data 本地 都是 .cn 版本號 微信公眾號:compassblog 歡迎關註、轉發,互相學習,共同進步! 有任何問題,請後臺留言聯系! 1、配置Maven項目的pom.xml文件報錯 (1)、錯誤描述:Missing artifact

WPF 依賴屬性附加屬性

text 依賴 通過 strong wpf hashtable 如果 hash nbsp 依賴屬性: 依賴屬性就是自己沒有值,通過Binding從數據源獲得值,就是依賴在別人身上,擁有依賴屬性的對象稱為依賴對象。 依賴屬性的值存在哪裏? 在WPF運行時,維護了一個全局的Ha

使用json-lib進行JavaJSON之間的轉換

lar 泛型 and bean etc log dynamo fir 地址 1. json-lib是一個java類庫,提供將Java對象,包括beans, maps, collections, java arrays and XML等轉換成JSON,或者反向轉換