VC 2010 的路徑設定方法 整理)

2021-06-06 21:32:08 字數 2474 閱讀 2991

include+lib設定是乙個不錯的方法,但是有時候為了保證**的可以移植需要設定相對路徑。

要了解vc中使用#include命令包含標頭檔案所搜尋的路徑,必須先了解vc中的幾種路徑:

1. 系統路徑

系統路徑在vc中是"tools->options->directories"中"include files"指定的路徑。

開啟此對話方塊會發現預設有這幾條路徑:

c:\program files\microsoft visual studio\vc98\include

c:\program files\microsoft visual studio\vc98\mfc\include

c:\program files\microsoft visual studio\vc98\atl\include

我們可以在這裡新增,這樣我們自己新增的路徑也會成為系統路徑。新增的格式必須按照上面來寫。

2. 當前路徑

當前路徑是指vc工程中工程檔案所在的路徑,即.dsw檔案所在路徑。

網上有很多朋友說,當前路徑是指.cpp檔案所在路徑,經過測試,這個說法也是正確的。但是使用vc編譯時,是不正確的。

3. 附加路徑

附加路徑是指在"project->settings->c/c++->preprocessor->additional include directories "中指定的路徑。

此路徑預設為空,我們可以在此處填寫需要路徑,比如:在此處填入"c:\123\",(不要引號),那麼附加路徑就會變成"c:\123\" 。

上面的1,3路徑,我們均可以自己編輯。在編輯過程中,可以使用絕對路徑,也可以使用相對路徑。

比如,在新增系統路徑時,可以這樣填寫:

.\src\  這樣寫表示,當前目錄中的src資料夾;

..\src\  這樣寫表示,當前目錄的上一層目錄中src資料夾;

...\src\ 這樣寫表示,當前目錄下  ..\src\\ 路徑,當然這種寫法已經和第一種重疊了。

這種相對路徑的寫法,vc會自動幫我們轉化為絕對路徑。

在新增附加路徑時,其相對路徑的寫法和系統路徑是一致的。

在vc中使用#include 命令,有三種形式:

1. #include

vc執行這條指令時,它會在系統目錄中去查詢 file.h 檔案。

在此條碼命令中,vc不會去當前路徑和附加路徑中查詢檔案。

2. #include "file.h"

vc執行這條指令時,它首先會搜尋附加路徑,如果沒有則會搜尋系統路徑,如果還沒有則會去搜尋當前路徑。

3. #include "directory\file.h"

vc執行這條指令時,它會去指定的路徑去查詢檔案,如果沒找到,它不會繼續查詢。 

visual c++ 概念:生成 c/c++ 程式

模組定義 (.def) 檔案

模組定義 (.def) 檔案為鏈結器提供有關被鏈結程式的匯出、屬性及其他方面的資訊。生成 dll 時,.def 檔案最有用。由於存在可代替模組定義語句使用的鏈結器選項,通常不需要 .def 檔案。也可以將 __declspec(dllexport) 用作指定匯出函式的手段。

在鏈結器階段可以使用 /def(指定模組定義檔案)鏈結器選項呼叫 .def 檔案。

如果生成的 .exe 檔案沒有匯出,使用 .def 檔案將使輸出檔案較大並降低載入速度。

有關更多資訊,請參見下列章節:

*模組定義語句的規則

*exports

*heapsize

*library

*name

*sections

*stacksize

*stub

*version

*保留字

請參見參考

鏈結器選項

有關生成的常見問題

其他資源

c/c++ 生成參考 ; 

; aidemo_cpp.def

; 該檔案定義了dll要匯出的函式介面名

library "aidemo_cpp"

exports

ai_create @1

ai_destroy @2

ai_init @3

ai_setdepth @4

ai_settimelimit @5

ai_placechessman @6

ai_play @7

ai_isfull @8

ai_iswin @9

ai_querysituation @10

ai_queryauthorinfo @11

ai_queryaiinfo @12

; ok, over

VC2010除錯DLL工程的方法

如果有用於建立可執行檔案的專案,則從該專案開始除錯。然後可以開啟 dll 的原始檔,並在該檔案中設定斷點,即使它不是用於建立可執行檔案的專案的一部分。如果從建立 dll 的專案開始除錯,則必須指定在除錯 dll 時要使用的可執行檔案。為除錯會話指定可執行檔案 在 解決方案資源管理器 中,選擇用於建立...

VC2010的 DYNAMICBASE鏈結選項問題

近期偶然用windbg給乙個控制台程式的入口函式下斷點,位址之際用編譯出的map檔案中main函式的位址。結果windbg報告斷點未下成功,經過反覆檢視,包括在vc環境中除錯執行,均發現main函式的位址和map檔案中位址不一樣,切帶有隨機性。又用vc6.0實驗一遍,發現沒有任何問題。看來問題是出在...

VC 2010中GDAL的安裝

準備檔案 vs2010 必須滴 gdal的原始碼 我用的這個版本的 1 編譯gdal,獲取include和lib和dll 2 啟動cmd,進入vc10的安裝目錄下,預設為c program files microsoft visual studio 10.0 vc bin,要是你會改目錄,找這個東西...