我正在尝试将glfw 2.7.8与Digital Mars D编译器版本2.0一起使用。
我按照示例makefile中的说明将.lib文件复制到dm / lib文件夹,但是我没有成功。
示例编译看起来像这样。
dmd main.d
该文件的来源是:
import std.string;
import glfw;
int main()
{
glfwInit();
return 0;
}
我得到的输出是
main.d(2): Error: module glfw is in file 'glfw.d' which cannot be read
import path[0] = /usr/share/dmd/src/phobos
import path[1] = /usr/share/dmd/src/druntime/import
我已尝试过Windows 7和Mac OSX 10.8.2,但我没有成功。我应该将glfw.d编译为lib然后将其放入我的主目录吗?
当我尝试将.lib放入主目录并使用链接到glfw.lib的-L编译器标志时,我也没有发现_symbol的消息。
非常感谢任何示例或帮助。
答案 0 :(得分:2)
您需要将-Ipath/to/glfw-x.x.x/support/d/imports
添加到编译器指令
您还可以使用-L开关添加lib文件夹(带有def文件),以便链接器可以将符号正确映射到dll中公开的符号
答案 1 :(得分:0)
您需要将glfw.d传递给编译器:
dmd main.d glfw.d
假设它与main.d。在同一目录中。