如何使用Visual D链接到静态库中的包

qua

我正在使用VisualD和DMD在Visual Studio 2012中编写D。

我的解决方案在解决方案资源管理器中如下所示:

ConsoleApp1 (solution name)
- codecramlib (a static D library)
- - http (folder)
- - - package.d 
- - - request.d
- malakai (console project)
- - main.d

编码库

我的静态D库codecramlib本身就可以很好地构建。来源:

module codecramlib.http;

public import request;

要求

module request;

// temporary filler code
class Request
{
    public int imARequest()
    {
        return 13;
    }
}

当我右键单击codecramlib并构建时,我在vs控制台中得到以下输出:

------ Build started: Project: codecramlib, Configuration: Debug Win32 ------
Building Debug\codecramlib.lib...
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

马拉凯(主要项目)

main.d:

import std.stdio;
import codecramlib.http; // also tried import codecramlib;

int main(string[] argv)
{
    writeln("Hello D-World!");
    return 0;
}

codecramlib通过在malakai项目上单击鼠标右键,然后选择“属性”>“配置属性”>“编译器”>“常规”,然后将“其他导入”字段修改为“ ../codecramlib”,将其添加为malakai依赖项。然后单击“应用”和“确定”。

当我malakai在解决方案资源管理器中右键单击并单击生成时,出现此错误:

Error   1   Error: module http is in file 'codecramlib\http.d' which cannot be read C:\Users\< path removed >\Visual Studio 2012\Projects\ConsoleApp1\malakai\main.d    2   

故障排除

我尝试的第一件事是将“其他导入”行更改为:

../

这似乎有所帮助,因为生成错误已更改为:错误1错误:模块请求位于文件'request.d'中,无法读取C:\ Users \ <删除的路径> \ Visual Studio 2012 \ Projects \ ConsoleApp1 \ codecramlib \ http \ package.d 3

为了使编译器能够识别codecramlib静态库中的request.d ,我将package.d更改为:

module codecramlib.http;

public import http.request;

这似乎是倒退了一步,因为然后不再构建codecramlib库,并且当我尝试构建malakai时遇到了以下错误:

Error   1   Error: module request from file http\request.d must be imported as module 'request' C:\Users\< path removed >\Visual Studio 2012\Projects\ConsoleApp1\codecramlib\http\package.d    3   
Error   2   Error: module request is in file 'http\request.d' which cannot be read  C:\Users\< path removed >\Visual Studio 2012\Projects\ConsoleApp1\codecramlib\http\package.d    3   

如何使用Visual D在malakai控制台项目的codecramlib静态库中使用codecramlib.http包?

编辑

更正了我的文件夹结构,如解决方案资源管理器中所示。我的package.d和request.d缩进不正确。

编辑2

添加了main.d的内容

杰布斯

这部分

我尝试的第一件事是将“其他导入”行更改为:

../

这似乎有所帮助,因为生成错误已更改为:错误1错误:模块请求位于文件'request.d'中,无法读取C:\ Users \ <删除的路径> \ Visual Studio 2012 \ Projects \ ConsoleApp1 \ codecramlib \ http \ package.d 3

使我相信这是因为您的请求模块不在codecramlib.http包中,并且因为dmd不知道在/ codecramlib / http /中查找request.d。

我的建议是将“其他导入”字段保留为“ ../”,并将codecramlib / http / request.d中的模块重命名为codecramlib.http.request,然后将codecramlib / http / package.d中的导入更改为public import codecramlib.http.request

一般来说,您需要将模块名称与目录布局进行匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何告诉CMake静态链接到使用find_package找到的包中的库?

来自分类Dev

如何使用链接到该静态库的项目来计算XCode 5中的静态库的代码覆盖率?

来自分类Dev

将静态库链接到 Visual C++ 中的新项目

来自分类Dev

如何创建自动链接到动态库的静态库?

来自分类Dev

如何创建自动链接到动态库的静态库?

来自分类Dev

使用automake将共享库链接到静态libtool库

来自分类Dev

在Visual Studio中静态链接ffmpeg库

来自分类Dev

如何将C ++静态库链接到C程序?

来自分类Dev

使用CMake链接到Windows上的静态库的问题

来自分类Dev

无法在Linux上使用Mingw链接到静态库

来自分类Dev

无法在Linux上使用Mingw链接到静态库

来自分类Dev

使用GCC链接到静态库时遇到问题

来自分类Dev

链接器如何处理链接到共享库的C ++静态库的唯一typeinfo约束?

来自分类Dev

如何正确链接到CMake中的库(使用Boehm GC)?

来自分类Dev

如何使用 NuGet 在 Visual Studio 2017 中链接 zmq 库?

来自分类Dev

如何在使用Clion链接到静态库的应用程序中放置断点?

来自分类Dev

如何在KDoc中链接到Java类的静态成员?

来自分类Dev

如何在Laravel的Blade模板中链接到静态资源?

来自分类Dev

动态链接可以正常工作时,无法使用VS2012链接到静态Boost库

来自分类Dev

无法使用VS2012链接到静态Boost库,而动态链接可以正常工作

来自分类Dev

如何在二进制文件中包含共享库依赖项(不使用.deb或.rpm),和/或静态链接到PulseAudio?

来自分类Dev

创建并将静态库链接到Visual Basic Windows Forms应用程序

来自分类Dev

如何使用SCons与静态库链接?

来自分类Dev

如何在VS2019中静态链接OpenSSL库?

来自分类Dev

如何将静态或共享库链接到内核模块?

来自分类Dev

使用gcc在C中链接C ++静态库

来自分类Dev

使用dlsym()在静态链接库中查找变量

来自分类Dev

使用预处理程序在gfortran中链接静态库

来自分类Dev

使用gcc在C中链接C ++静态库

Related 相关文章

  1. 1

    您如何告诉CMake静态链接到使用find_package找到的包中的库?

  2. 2

    如何使用链接到该静态库的项目来计算XCode 5中的静态库的代码覆盖率?

  3. 3

    将静态库链接到 Visual C++ 中的新项目

  4. 4

    如何创建自动链接到动态库的静态库?

  5. 5

    如何创建自动链接到动态库的静态库?

  6. 6

    使用automake将共享库链接到静态libtool库

  7. 7

    在Visual Studio中静态链接ffmpeg库

  8. 8

    如何将C ++静态库链接到C程序?

  9. 9

    使用CMake链接到Windows上的静态库的问题

  10. 10

    无法在Linux上使用Mingw链接到静态库

  11. 11

    无法在Linux上使用Mingw链接到静态库

  12. 12

    使用GCC链接到静态库时遇到问题

  13. 13

    链接器如何处理链接到共享库的C ++静态库的唯一typeinfo约束?

  14. 14

    如何正确链接到CMake中的库(使用Boehm GC)?

  15. 15

    如何使用 NuGet 在 Visual Studio 2017 中链接 zmq 库?

  16. 16

    如何在使用Clion链接到静态库的应用程序中放置断点?

  17. 17

    如何在KDoc中链接到Java类的静态成员?

  18. 18

    如何在Laravel的Blade模板中链接到静态资源?

  19. 19

    动态链接可以正常工作时,无法使用VS2012链接到静态Boost库

  20. 20

    无法使用VS2012链接到静态Boost库,而动态链接可以正常工作

  21. 21

    如何在二进制文件中包含共享库依赖项(不使用.deb或.rpm),和/或静态链接到PulseAudio?

  22. 22

    创建并将静态库链接到Visual Basic Windows Forms应用程序

  23. 23

    如何使用SCons与静态库链接?

  24. 24

    如何在VS2019中静态链接OpenSSL库?

  25. 25

    如何将静态或共享库链接到内核模块?

  26. 26

    使用gcc在C中链接C ++静态库

  27. 27

    使用dlsym()在静态链接库中查找变量

  28. 28

    使用预处理程序在gfortran中链接静态库

  29. 29

    使用gcc在C中链接C ++静态库

热门标签

归档