BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers

Mike Parker aldacron at gmail.com
Sat May 23 04:07:35 UTC 2020


On Saturday, 23 May 2020 at 03:29:44 UTC, Daniel C wrote:
> On Saturday, 23 May 2020 at 03:25:12 UTC, Daniel C wrote:
>> I'm building my app without dub.  I've now put all the source 
>> files into the same folder as my project and I'm still seeing 
>> the same undefined symbol issue.
>
> I should say, I put the bindbc library into a subfolder. So 
> it's like this:
>
> project/bindbc/sdl/bind
>
> The SDL lib files are in the same folder with the source, 
> primarily because the LIB environment variable was being 
> ignored by the compiler/linker.

I suggest you create project/lib and drop the SDL libraries there 
along with the bindbc-sdl library and pass the path to the 
linker. Since you should be using the MS linker (see below), it 
expects the /LIBPATH option 
(https://docs.microsoft.com/en-us/cpp/build/reference/libpath-additional-libpath?view=vs-2019), which you can add to your dmd commandline as `-L/LIBPATH:lib`. Of course, that's assuming you've got the Microsoft Build Tools installed either independently or as part of a Visual Studio installation. If not, you'll be using the LLVM linker that ships with DMD. I believe in that case it should be `-L-Llib`.

If you really want 32-bit and to statically link with the SDL 
import libraries, I strongly recommend you use the -m32mscoff dmd 
options (and the corresponding -ax86_mscoff dub option). The SDL 
libraries are distributed as COFF, not OMF, so using OPTLINK 
would require converting the lib files to OMF first.


More information about the Digitalmars-d-announce mailing list