2011-01-19 1 views
1

-je utiliser LU La décomposition pour adapter un modèle simple à certaines données (simulée) en C. Un exemple de ce que je dois faire est here:Comment puis-je installer des paquets C sur les fenêtres

Cependant, je Je suis bloqué avec un problème plus basique: comment installer des paquets en C et les appeler dans mon code? Je suis nouveau dans C et je suis habitué à R. Mais j'ai cette assingment pour faire quelques tests sur l'inversion Matrix, la décomposition LU et le professeur a suggéré d'utiliser Lapack pour les choses faciles (donc, je n'ai pas besoin pour me coder la décomposition de LU etc.). Mais je ne sais pas comment installer le paquet et l'appeler dans mon code, afin d'utiliser les fonctions de LAPACK.

J'ai un windows 7 64 bits et je suis en utilisant le compilateur blocs de code 8.02

Merci pour toute aide.

+0

Merci à tous pour vos réponses. J'ai appris à utiliser des librairies externes, mais j'ai toujours des problèmes avec Lapack. –

Répondre

3

Normalement, vous n'installez pas de bibliothèques C dans ce sens. Normalement, dans Windows, vous avez trois types de fichiers. Les fichiers d'en-tête, qui se terminent généralement par .h, la bibliothèque dynamique, .dll, et très probablement certains fichiers de liens (typiquement, .lib, .a ou quelque chose). L'éditeur de liens et le compilateur devront être capables de trouver ces fichiers quelque part. Normalement, vous définissez les chemins du répertoire d'inclusion et les chemins du répertoire de la bibliothèque.

E.g. Supposons que vous avez téléchargé une bibliothèque appelée foo et que vous l'extrayez dans C: \ foo. Dans ce dossier, libfoo.a, foo.dll et foo.h résident. Dans Code :: Blocks, vous devrez pointer le chemin du répertoire include vers C:\foo et le chemin de la bibliothèque vers C:\foo afin que l'éditeur de liens et le compilateur sachent où chercher ces fichiers. Puisque vous liez à la bibliothèque foo, vous devrez également définir -lfoo ou quelque chose de similaire dans la ligne de commande de l'éditeur de liens. C'est la syntaxe de GCC, mais je pense que Code :: Blocks utilise le compilateur GCC dans les coulisses de toute façon.

Dans le code C, vous pouvez simplement #include <foo.h> et le compilateur le trouvera pour vous.

+0

Merci. Cela ressemble exactement au type d'instruction dont j'avais besoin. Je vais essayer et revenir ici en disant si ça a marché. Merci encore. –

1

Vous devez installer cette bibliothèque et fournir un tool pour cela. Vérifiez leur documentation (par exemple, un fichier INSTALL ou README dans leurs sources distribuées). Si la bibliothèque n'utilise que des en-têtes, il se peut que vous ayez seulement besoin de copier ses en-têtes dans un répertoire de votre système, mais leur système de construction pourrait être capable de le faire pour vous. Une fois cela fait, vous indiqueriez à votre EDI où chercher les sources et si la bibliothèque utilise non seulement des en-têtes pour lier le fichier de bibliothèque réel. Voir la documentation dans the Code::Blocks Wiki sur la façon dont cela est fait pour certains cas d'exemple et adapter pour votre bibliothèque.

1

La chose la plus simple à faire dans votre situation est d'installer Cygwin. Vous pouvez utiliser le programme d'installation setup.exe pour installer les bibliothèques GCC et LAPACK. Lorsque vous souhaitez utiliser la bibliothèque LAPACK, vous allez ajouter l'option -llapack à votre ligne de commande GCC.

Questions connexes