Как построить GSL с помощью msvc2010? - программирование
Подтвердить что ты не робот

Как построить GSL с помощью msvc2010?

Я работаю с Qt 4.8.3 и QtCreator, которые я скомпилировал с помощью msvc2010 в соответствии с инструкциями здесь. Теперь мне нужно связать с GSL (Gnu Scientific Library), но в настоящее время я знаю только, как построить его с помощью g++, который создает ошибки компоновщика, как описано здесь, несомненно, для причина, указанная в ответе @EvanTeran. Однако, в моем случае, построение Qt с g++ через cygwin, вероятно, не вариант - я просто оторвался от многодневного кошмара, в течение которого я пытался сделать именно это, но не смог, как записано . Конечно, есть способ построить gsl с msvc2010, но как? У меня установлен VS 2012 Express (хотя я никогда не использовал его раньше), если есть решение, использующее его.

РЕДАКТИРОВАТЬ:. Смотря на CMake, я считаю, что лучше всего вручную создать целую иерархию файлов CMakeLists.txt для GSL. Это просто слишком много, поэтому я поставил 100pt. щедрость по указанному выше вопросу. Решая мою проблему, маршрут Visual Studio (здесь) ИЛИ с g++ получит щедрость и ответ на оба вопроса.

Обновление: Ответ ниже работал отлично, но не без проблем, возможно потому, что мне действительно нужно было скомпилировать под VS2012. Требуется несколько настроек кода, таких как явные приведения, которые, по-видимому, были допущены в предыдущем компиляторе, но не мои. В противном случае все прошло довольно гладко.

4b9b3361

Ответ 1

Вы можете использовать CMake и создать свою собственную сборку из этого репозитория для любой версии Visual Studio, которую вы используете. Проверьте ответ @vitaut для более подробной информации.

Ответ 2

Я реализовал поддержку сборки CMake для GSL здесь: https://github.com/ampl/gsl

CMake может либо генерировать решение Visual Studio, либо make файлы NMake. Например:

> 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
...

Это создает решение (GSL.sln) и файлы проекта для Visual Studio 2010.

Эта сборка CMake script теперь включена в каталог contrib репозитория GSL Git git://git.savannah.gnu.org/gsl.git.

По состоянию на май 2014 года поддерживается создание совместно используемых библиотек (DLL) с помощью опции GSL_SHARED.