Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何使用msvc2010构建GSL?_Visual Studio_Qt_Visual C++_Shared Libraries_Gsl - Fatal编程技术网

Visual studio 如何使用msvc2010构建GSL?

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

我正在使用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++解决我的问题将获得奖励,并获得这两个问题的答案


更新:下面的答案非常有效,但并不完美,可能是因为我实际上需要在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_测试项目。