jjzjj

windows - DMD:对链接和构建的误解

我正在尝试在Windows中使用DMD编译器本身(没有IDE)构建一个项目。而且我发现自己几乎无法意识到有关链接的某些时刻。通常IDE会为我做这件事。我的项目结构project├──bin|├──exemple.obj|└──exemple.exe└──src├──a|└──b.d└──exemple.d示例.dimporta.b;voidmain(){Bobg=newB();}b.dmodulea.b;classB{privateinti;publicthis(){i=0;}publicvoidact(){i++;}}一开始好像用命令搭建很简单:cdC:\path\to\my\pro

windows - 如何编译要从 DMD 链接的 msvc 静态库?

我一直在花费大量时间尝试为开源C库构建D绑定(bind)。我正在使用msvc将C构建为静态.lib,但DMD无法识别.lib文件,这似乎是与COFF/OMF不兼容相关的问题。编译与OMF兼容的C库以从D链接的最简单方法是什么? 最佳答案 将头文件移植到具有匹配函数签名和extern(C)的.di文件中。然后将其用作import目标。您可以使用htodtool帮助解决这个问题。参见http://dlang.org/spec/interfaceToC.html 关于windows-如何编译要

windows - 为什么 D 不允许嵌套函数重载?

我使用嵌套函数将我的代码分成小块,但是当我需要扩展一个函数以支持不同类型的参数时,我得到了一个重新声明的编译错误:declarationXisalreadydefiend这是D的设计者(如果是,为什么?)还是他们没有实现的此类功能之一只是因为“使用太少”?重现错误的代码示例:voidfoo(){intbaa(inta){returna*2;}intbaa(inta,intb){returna+b;}} 最佳答案 您将找到所有详细信息并跟踪进度https://issues.dlang.org/show_bug.cgi?id=12578

javascript - 构建 tangobos 以与 DMDScript 一起工作/获取 ECMA 脚本以与 D1-Tango 一起工作

我正在尝试安装DMDScript-tango在我的win32D1-Tango设置上。我使用的版本是0.99.9Kaibundle.当我尝试构建它时,出现以下错误(以及其他错误)C:\DMD\sources\dmdscript>dsssbuildCreatingimportsfordmdscript_tangodmdscript_tango=>dmdscript_tangodmdscript_tango\script.d(24):modulectypecannotreadfile'std\ctype.d'Commandc:\dmd\dsss\bin\rebuild.exereturned

c++ - 如何将对象从 D 传递到 C++?

我正在尝试与C++和D进行互操作。我今天发现的事情真的让我很困惑:我的程序中没有正确传递对象。最好举个例子。我有一个C++库,我将其编译为目标文件和D程序,我将其与我的库链接并运行。他们在这里:#includeclassColor{public:Color(unsignedint_r,unsignedint_g,unsignedint_b):r(_r),g(_g),b(_b){}unsignedintr,g,b;};classPrinter{public:Printer(){}~Printer(){}staticPrinter*getInstance();voidprint(Color

c++ - Visual Studio C++ 中的/MD 和/DMD 有什么区别?

在c/c++->代码生成中/MD和/MDD(多线程调试dll)有什么区别visualstudio的属性.... 最佳答案 它们指定要使用的运行时。两者都使用多线程动态(DLL)运行时,但/MDD版本使用调试版本并且还为您定义了_DEBUG符号。参见thisMSDNpage了解详情。 关于c++-VisualStudioC++中的/MD和/DMD有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

windows - 静态链接 SQLite 与 DMD (Windows x86)

我尝试静态链接sqlite3但没有成功。我正在使用“etc.c.sqlite3”header和sqlite3合并。为了创建.lib文件,我尝试了VC++和MinGW-gcc,它们都成功地编译了源文件——但它们都生成了COFF对象格式(DMD使用的optlink,与OMF一起工作)。在阅读“digitalmars.D”上的大量帖子后,我尝试了几种不同的解决方案。objconv:尝试转换使用GCC创建的lib文件,导致出现undefinedsymbol,例如__divdi3和__muldi3,无法解决此问题。还尝试将sqlite3.o文件转换为*.obj,然后使用digitalmars'l

windows - 静态链接 SQLite 与 DMD (Windows x86)

我尝试静态链接sqlite3但没有成功。我正在使用“etc.c.sqlite3”header和sqlite3合并。为了创建.lib文件,我尝试了VC++和MinGW-gcc,它们都成功地编译了源文件——但它们都生成了COFF对象格式(DMD使用的optlink,与OMF一起工作)。在阅读“digitalmars.D”上的大量帖子后,我尝试了几种不同的解决方案。objconv:尝试转换使用GCC创建的lib文件,导致出现undefinedsymbol,例如__divdi3和__muldi3,无法解决此问题。还尝试将sqlite3.o文件转换为*.obj,然后使用digitalmars'l