2011-02-03 62 views
2

在Windows XP上啓動C並開發...我包含的庫(如果是私人的)必須位於某個目錄中嗎?或者將計算機的內容編入索引以找到它們?關於C庫的新手問題

感謝

回答

5

它們可以在任何目錄下,並且不會被索引。您可以將「包含目錄」列表傳遞給您的編譯器,它將在這些目錄中搜索標題。同樣,您可以將「庫目錄」列表傳遞給您的鏈接器,其中.lib文件將被搜索。如何將這些參數傳遞給編譯器或鏈接器的具體細節取決於您使用的編譯器或IDE。

+0

感謝並查找了DevC++指令 – tekknolagi 2011-02-03 03:45:24

3

簡短的回答是,你可以只需將庫(即DLL文件,我相信)在同一目錄下的可執行文件,他們將被發現。

長的答案確實要長得多,但現在只要知道上面的內容就可以逃脫!

0

它們可以位於任何你想要的目錄中,鏈接器只需要知道在創建可執行文件的位置。如果您使用的是像gcc這樣的命令行編譯器,則可以使用「-L {目錄}」和「-l {庫文件名}」等選項來指定要在編譯中包含哪些庫。這可能因每個編譯器而異,因此您必須查看每個編譯器的manpages/help(但這很常見)。

0

通常幾乎沒有任何關於第三方(或個人)庫是由C編譯器工具鏈自動找到的。

根據您的工具鏈,您需要執行一些配置,以便編譯器能夠找到庫的頭文件,以及鏈接器的一些配置來定位庫。

如果程序是通過靜態鏈接庫來構建的,那麼在運行時通常不需要做任何特殊的事情來定位庫(因爲它們是可執行文件的一部分)。如果這些庫是動態鏈接的,那麼您需要確保庫在運行時位於適當的位置(這可能與確保它位於同一目錄中一樣簡單)。

不幸的是,每個編譯器都有自己的執行此配置的方法(根據是否使用IDE,這也可能會有所不同),因此詳細信息將取決於您感興趣的具體編譯器。