2012-11-07 2 views
14

Je travaille avec Qt 4.8.3 et QtCreator, que j'ai compilé avec msvc2010 selon les instructions here. Maintenant, cependant, je dois lier à GSL (Gnu Scientific Library), mais actuellement je ne sais comment le construire avec g ++ qui produit des erreurs de liens comme décrit here, sans doute pour la raison donnée dans la réponse par @EvanTeran. Cependant, dans mon cas, la construction de Qt avec g ++ via cygwin n'est probablement pas une option - je suis juste sorti d'un cauchemar de plusieurs jours au cours de laquelle j'ai essayé de le faire, mais je ne pouvais pas, comme enregistré here. Sûrement il y a un moyen de construire GSL avec msvc2010, mais comment? J'ai installé VS 2012 Express (même si je ne l'ai jamais utilisé auparavant) au cas où il y aurait une solution pour l'utiliser. En regardant CMake, il semble que le mieux que je puisse faire est de créer manuellement une hiérarchie entière de fichiers CMakeLists.txt pour GSL. C'est juste un peu trop, donc j'ai mis un 100pt. prime sur la question mentionnée ci-dessus. Résoudre mon problème l'itinéraire de Visual Studio (ici) OU avec g ++ obtiendra la générosité et la réponse aux deux questions.Comment construire GSL avec msvc2010?

Mise à jour: La réponse ci-dessous a bien fonctionné, mais pas de façon transparente, peut-être parce que j'avais vraiment besoin de compiler sous VS2012. Quelques ajustements au code étaient requis, tels que les lancements explicites, qui étaient tolérés sous le compilateur précédent apparemment mais pas le mien. Sinon, les choses se sont déroulées plutôt bien.

Répondre

4

Jetez un oeil à this. Le site propose des solutions VS2010 pour la construction de GSL 1.15.

+0

Vous obtiendrez cette prime dès que le système me le permettra. Belle trouvaille, même si je devais faire un peu de peaufinage (je décrirai bientôt). –

+0

On dirait que le site a été déplacé à http://brgladman.org/oldsite/computing/gnu_scientific_library.php – NIA

+0

Merci, j'ai mis à jour le lien! – Carsten

19

J'ai mis en place CMake construire un soutien pour GSL ici: https://github.com/ampl/gsl

CMake peut soit générer une solution Visual Studio ou makefile NMAKE. Par exemple:

> git clone git://github.com/ampl/gsl.git 
> cd gsl 
> cmake . 
-- Building for: Visual Studio 10 
-- Check for working C compiler using: Visual Studio 10 
-- Check for working C compiler using: Visual Studio 10 -- works 
... 

Cela génère la solution (GSL.sln) et les fichiers de projet pour Visual Studio 2010.

Ce script construit CMake est maintenant inclus dans le répertoire contrib du dépôt Git GSL git://git.savannah.gnu.org/gsl.git. Depuis mai 2014, la construction de bibliothèques partagées (DLL) est également prise en charge par l'option GSL_SHARED.

+0

Merci vitaut. Je crois que vous l'avez essayé avec un programme de test? Et ceci ceci inclut également gsl_cblas? (Ce n'est pas que ce n'est pas déjà utile.) –

+1

Je l'utilise moi-même et les tests qui viennent avec GSL sont gérés dans le script CMake afin que vous puissiez les construire et les exécuter. gslcblas est également inclus. – vitaut

+0

Génial! Merci vitaut. –