Ответ 1
Вы можете использовать CMake и создать свою собственную сборку из этого репозитория для любой версии Visual Studio, которую вы используете. Проверьте ответ @vitaut для более подробной информации.
Я работаю с 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. Требуется несколько настроек кода, таких как явные приведения, которые, по-видимому, были допущены в предыдущем компиляторе, но не мои. В противном случае все прошло довольно гладко.
Вы можете использовать CMake и создать свою собственную сборку из этого репозитория для любой версии Visual Studio, которую вы используете. Проверьте ответ @vitaut для более подробной информации.
Я реализовал поддержку сборки 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
.