Visual studio 如何使用msvc2010构建GSL?
我正在使用Qt 4.8.3和QtCreator,我已经按照说明使用msvc2010编译了它们。然而,现在我需要链接到GSL(Gnu科学库),但目前我只知道如何使用g++构建它,正如所描述的那样,它会产生链接器错误,这无疑是出于@EvanTeran在回答中给出的原因。然而,在我的例子中,通过cygwin用g++构建Qt可能不是一个选项——我刚刚经历了一场多日的噩梦,在这期间我试图这么做,但没有做到,正如记录所示。当然有一种方法可以用msvc2010构建gsl,但是如何实现呢?我已经安装了VS 2012 Express(尽管我以前从未使用过),以防有解决方案使用它 编辑:看看CMake,我能做的最好的事情似乎是手动为GSL创建一个完整的CMakeLists.txt文件层次结构。这只是有点太多了,所以我放了100磅。关于上述问题的悬赏。通过VisualStudioRoute(此处)或使用g++解决我的问题将获得奖励,并获得这两个问题的答案Visual studio 如何使用msvc2010构建GSL?,visual-studio,qt,visual-c++,shared-libraries,gsl,Visual Studio,Qt,Visual C++,Shared Libraries,Gsl,我正在使用Qt 4.8.3和QtCreator,我已经按照说明使用msvc2010编译了它们。然而,现在我需要链接到GSL(Gnu科学库),但目前我只知道如何使用g++构建它,正如所描述的那样,它会产生链接器错误,这无疑是出于@EvanTeran在回答中给出的原因。然而,在我的例子中,通过cygwin用g++构建Qt可能不是一个选项——我刚刚经历了一场多日的噩梦,在这期间我试图这么做,但没有做到,正如记录所示。当然有一种方法可以用msvc2010构建gsl,但是如何实现呢?我已经安装了VS 20
更新:下面的答案非常有效,但并不完美,可能是因为我实际上需要在VS2012下编译。需要对代码进行一些调整,例如显式强制转换,这在以前的编译器中是可以容忍的,但在我的编译器中不是。否则,一切都会进行得非常顺利。您可以使用CMake并为您正在使用的任何Visual Studio版本创建自己的构建。请通过@vitaut查看更多详细信息。我已在此处为GSL实现了CMake构建支持: 可以生成Visual Studio解决方案,也可以生成生成文件。例如:
> 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
...
这将为VisualStudio2010生成解决方案(GSL.sln
)和项目文件
此CMake构建脚本现在包含在GSL Git存储库的contrib
目录中git://git.savannah.gnu.org/gsl.git
从2014年5月起,通过
GSL_shared
选项也支持构建共享库(DLL)。只要系统允许我授予您此奖励,您就会得到此奖励。很好的发现,虽然我不得不做了一些调整(稍后将描述)。似乎网站已经转向这个答案是一个例子,说明了为什么只有链接的答案会随着时间的推移而失去价值。链接已断开。链接现在是clickbait,具有危险的风险。我相信你已经用测试程序试过了?这也包括gsl_cblas?(并不是说它已经没用了。)我自己在使用它,GSL附带的测试在CMake脚本中处理,因此您可以构建和运行它们。gslcblas也包括在内。它不支持dll。我添加了行来设置dll,但在链接时出错。刚才我很容易在windows上构建gls。你的工作真的很有帮助。谢谢大家!@谢谢分享你的工作。我从master/contrib那里得到的,真的很有用。我非常感谢RUN_测试项目。