1

那里的大多数材料都是带有 Derelict2 的 DMD1。我已经尝试了我能想到的一切,但我得到的只是不同种类的垃圾。DMD2 安装正常,因为我可以编译 hello worlds。我的 sc.ini 内容如下:

[Version]
version=7.51 Build 020

[Environment]
LIB="%@P%\..\lib";\dm\lib
DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import" "-I%@P%\..\..\src\etc"
LINKCMD=%@P%\link.exe

如果不包含 gl3.d 的路径(我正在使用 Eclipse 并且还使用命令 shell 中的 dmd/bud 进行检查,Windows XP)我会收到“无法读取 gl3.d”错误,该错误在路径时已修复已添加到库引用中。

我要编译的文件是:

import std.stdio;
import derelict.opengl3.gl3;

pragma(lib, "DerelictGL3.lib");

void main(){
    DerelictGL3.load();


    writeln("Fred");

}

如果我注释掉编译指示,错误是:

OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
bin\Main.obj(Main) 
 Error 42: Symbol Undefined _D8derelict7opengl33gl312__ModuleInfoZ
bin\Main.obj(Main) 
 Error 42: Symbol Undefined _D8derelict7opengl33gl311DerelictGL3C8derelict7opengl33gl317DerelictGL3Loader
--- errorlevel 2

如果我取消注释编译指示,则错误是:

--------  Build Commands:  --------
-od"bin"
-of"bin\Main.exe"

-I"src"

"src\Main.d"



OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
D:\Programming\DMD\dmd2\windows\bin\..\lib\DerelictGL3.lib(gl3) 
 Error 42: Symbol Undefined _D8derelict4util6loader15SharedLibLoader19isAutoUnloadEnabledOFNdZb
D:\Programming\DMD\dmd2\windows\bin\..\lib\DerelictGL3.lib(gl3) 
 Error 42: Symbol Undefined _D8derelict4util9exception17DerelictException7__ClassZ
D:\Programming\DMD\dmd2\windows\bin\..\lib\DerelictGL3.lib(gl3) 

直到我认为每个函数都被列出之前,它一直保持不变。

请帮忙。

4

1 回答 1

5

您必须添加一个pragma(lib, "DerelictUtil.lib"), 或针对它的链接。(与 Derelict2 相同)

于 2012-04-13T12:12:10.087 回答