I have D opengl/glfw3 program that I wrote which compiles and runs fine, but I always felt it was a bit of a Visual Studio hack. So I thought I'd start anew but this time use dub from the get go. So I did dub int...etc. And put my existing code into the app.d file. But when I try to build the project with dub build, I get

dub build --arch=x86_64 --force
Performing "$DFLAGS" build using dmd for x86_64.
derelict-util 2.1.0: building configuration "library"...
derelict-al 1.0.1: building configuration "library"...
derelict-fi 2.0.2: building configuration "library"...
derelict-ft 1.1.2: building configuration "library"...
derelict-gl3 1.0.19: building configuration "library"...
derelict-glfw3 3.1.0: building configuration "derelict-glfw3-dynamic"... 01_01_hello_window ~master: building configuration "application"...
source\app.d(154,5): Error: undefined identifier 'glViewport'
source\app.d(157,13): Error: undefined identifier 'glfwWindowShouldClose'
source\app.d(160,9): Error: undefined identifier 'glfwPollEvents'
source\app.d(166,9): Error: undefined identifier 'glClearColor'
source\app.d(167,9): Error: undefined identifier 'glClear'
source\app.d(170,9): Error: undefined identifier 'glfwSwapBuffers'
source\app.d(174,5): Error: undefined identifier 'glfwTerminate'
dmd failed with exit code 1.
myapp exited with code 2

I see that dub has all the .d import files already placed in
C:\Users\Me\AppData\Roaming\dub\packages\derelict-gl3-1.0.19\derelict-gl3\source\derelict\opengl3

and C:\Users\Me\AppData\Roaming\dub\packages\derelict-glfw3-3.1.0\derelict-glfw3\source\derelict\glfw3

which should have all the definitions. Is their an elegant way that I can tell dub to where these definitions? Or do I just have to brute force all the -I paths?

I assume there is a slick way of specifying this because what happens when say glfw3-3.1.0 gets bumped up to 3.1.1?



Reply via email to