我想在Swift中使用GNU科学库,尤其是我想使用中的例程gsl_rng.h
。所以我基本上遵循https://github.com/apple/swift-
package-
manager/blob/master/Documentation/SystemModules.md
(我使用的是Linux,而不是OS
X)
我将模块创建为
module CGSL [system] {
header "/usr/include/gsl/gsl_rng.h"
link "gsl"
export *
}
但是,由于我收到了许多此类消息,所以我无法构建程序undefined reference to 'cblas_dasum'
。实际上,正如GSL的文档所述
要链接到库,您需要同时指定主库和支持的CBLAS库,该库提供标准的基本线性代数子例程。如果您的系统没有提供合适的CBLAS实现,则在libgslcblas.a库中提供该实现。以下示例显示了如何将应用程序与库链接,
$ gcc -L/usr/local/lib example.o -lgsl -lgslcblas -lm
我该怎么做来链接两个-lgsl
和-lgslcblas
?
为添加第二link
行将libgslcblas
达到目的:
module CGSL [system] {
header "/usr/include/gsl/gsl_rng.h"
link "gsl"
link "gslcblas"
export *
}
link "m"
即使我不必在盒子上这样做,也可能需要添加(Ubuntu 14.04)。
我没有在Swift文档中找到关于此的具体建议,因此不得不做出有根据的猜测,但是它确实有效。Linux上的Swift正在开发中,并且PackageManager仅可用于Swift 3.0开发快照,Swift3.0是不稳定的,积极开发的最新版本。这样的常见情况没有得到充分记录的事实应该使您对技术的成熟有所了解。
无论采用哪种方式,从Swift调用GSL
API都是一个更大的挑战,因为该API使用了许多非原始类型。要解决该问题,请考虑编写一个具有简化接口的C包装器,该接口可以从Swift轻松调用。然后可以使用桥接头或系统模块来调用包装器。
问题内容: 我正在尝试使用Boost的Asio构建项目,但遇到了一些麻烦。最初,我试图在没有任何其他库的情况下构建项目,因为所有内容都应该放在头文件中。 我尝试构建的程序如下所示: 可以发现这里在加速的网站。 因此,最初我只有: 这导致以下错误: 看来我需要系统库。因此,我按照此处的入门指南中的说明进行操作,该指南为我提供了位于 / usr / include / boost_1_40_0 / s
问题内容: 我知道如何在Mac OS上使用Xcode在Swift中访问C库,并且在Linux上也知道,但是如何在Linux上使用Swift这样的C库,如OpenGL? 问题答案: 使用系统模块导入OpenGL头文件:https : //github.com/apple/swift-package- manager/blob/master/Documentation/SystemModules.md
我试图使用Xcode5.0Objective-C项目中的libtorrent库,但没有成功。 我使用LLVM5.0从源代码中构建了boost 1.54和libtorrent-rasterbar(最新),没有任何问题。此外,通过MacPorts,我获得了pkg-config以获得libtorrent-rasterbar库的适当cflags。从我的生成设置中,pkgconfig库和cflags的输出为
问题内容: 我正在尝试建立一个共享库。让我们说libabc.so。它使用另一个.so文件,例如lib123.so(/ usr / local / lib中的一个lib)。现在我在我的应用程序中使用共享的liblibabc.so。说我的应用程序。我想知道我应该如何链接这些二进制文件?我不想直接将我的应用程序与lib123.so链接。my- app应该仅与libabc.so链接。我怎样才能做到这一点?
我在使用Reformation的RxJava支持链接观察对象时遇到了问题。我可能误解了如何使用它,否则它可能是改装中的一个bug。希望这里有人能帮我理解发生了什么事。编辑:我正在对这些响应使用MockRestaAdapter—这可能与RxSupport实现略有不同有关。 这是一个假的银行应用程序。它正在尝试进行传输,传输完成后,它应该执行帐户请求以更新帐户值。这基本上只是我试用flatMap的一个
5.7.1.SQLite以及Android的数据库支持 Android自带了 SQLite 数据库的支持。SQLite短小精悍,更有Android框架中丰富的API,使用起来会很容易。本节我们介绍SQLite及其配套API的使用方法。哦,在这里还没必要精通SQL,不过了解一些SQL总是好的。