2011-01-19 29 views
1

我不得不使用LU分解方法在C,以適應一個簡單的模型將一些數據(模擬)什麼,我需要做的一個例子安裝C型包件是here如何在Windows

不過,我m陷入了一個更基本的問題:我如何在C中安裝軟件包並在我的代碼中調用它們?

我是C新手,我已經習慣了R.但是我有這樣的做法來做一些關於矩陣求逆,LU分解和教授建議使用Lapack來做簡單事情的測試(因此我不需要編碼自己的LU分解等)。但我不知道如何安裝這個軟件包並在我的代碼中調用它,以便使用LAPACK的功能。

我有一個Windows 7 64位,我使用的編譯器代碼塊8.02

感謝您的幫助。

+0

謝謝大家的回答。我學會了如何使用外部庫,但我仍然遇到了Lapack的問題。 – 2011-01-21 04:00:53

回答

3

通常情況下,您不會「安裝」C庫。通常,在Windows中,您有三種類型的文件。頭文件通常以.h結尾,動態庫,.dll和最有可能的一些鏈接器文件(通常是.lib,.a或其他)。鏈接器和編譯器需要能夠在某處找到這些文件。通常你設置包含目錄路徑和庫目錄路徑。

E.g.假設您下載了一個名爲foo的庫,並將其解壓縮到C:\ foo。 在該文件夾中,存在libfoo.a,foo.dllfoo.h。在Code :: Blocks中,您必須將include目錄路徑指向C:\foo,並將庫路徑指向C:\foo,以便鏈接器和編譯器知道在哪裏查找這些文件。既然你鏈接到foo庫,你還必須設置-lfoo或類似的鏈接器命令行。這是GCC語法,但我認爲Code :: Blocks無論如何都使用GCC編譯器。

在C代碼中,你可以只用#include <foo.h>,編譯器會爲你找到它。

+0

謝謝。它看起來正是我需要的那種教學。我會試一試,然後回到這裏,告訴它是否有效。再次感謝。 – 2011-01-19 16:36:31

1

您需要安裝該庫,它實際上可能會爲此提供一個tool。檢查他們的文檔(例如,分佈式源中的文件INSTALLREADME)。如果庫只使用頭文件,你可能只需要將它的頭文件複製到系統中的某個目錄中,但是他們的生成系統可能會爲你做到這一點。

一旦完成,您會告訴您的IDE在哪裏查找源代碼以及庫是否使用頭文件與實際庫文件進行鏈接。請參閱the Code::Blocks Wiki中的文檔,瞭解如何在某些示例情況下完成此操作,並針對您的庫進行調整。

1

要做的最簡單的事情就是安裝Cygwin。您可以使用setup.exe安裝程序來安裝GCC和LAPACK庫。當你想使用LAPACK庫時,你會在你的GCC命令行中添加-llapack選項。