我正在使用Qt 4.8.3和QtCreator,我根据说明here使用msvc2010编译。然而,现在我需要链接到GSL(Gnu科学图书馆),但是目前我只知道如何使用g ++来构建它,就像here所描述的那样产生链接器错误,这无疑是出于@EvanTeran的答案所给出的原因。然而,在我的情况下,通过cygwin用g ++构建Qt可能不是一个选择 - 我只是在一个多天的噩梦中,我试图做到这一点,但不能,如记录here 。当然有一种方法可以用msvc2010构建gsl,但是怎么样?我安装了VS 2012 Express(虽然我之前从未使用过),以防有使用它的解决方案。
编辑:看看CMake,我最好能够为GSL手动创建CMakeLists.txt文件的整个层次结构。这只是有点太多,所以我放了100pt。关于上述问题的赏金。解决我的问题Visual Studio路由(这里)或与g ++将得到赏金和两个问题的答案。
更新:以下答案效果很好,但不是无缝的,可能是因为我实际上需要在VS2012下编译。需要对代码进行一些调整,例如显式强制转换,在前一个编译器中显然可以容忍,但不是我的。事情进展顺利。
答案 0 :(得分:20)
我在这里实施了对GSL的CMake构建支持:https://github.com/ampl/gsl
CMake可以生成Visual Studio解决方案或NMake makefile。例如:
> 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
...
这将为Visual Studio 2010生成解决方案(GSL.sln
)和项目文件。
此CMake构建脚本现在包含在GSL Git存储库contrib
的{{1}}目录中。
截至2014年5月,支持构建共享库(DLL)以及git://git.savannah.gnu.org/gsl.git
选项。
答案 1 :(得分:4)
您可以使用CMake并从this repository创建自己的构建版本,以用于您正在使用的任何Visual Studio版本。有关详情,请查看@vitaut的the answer。