keharriso / love-nuklear

Lightweight immediate mode GUI for LÖVE games
MIT License
350 stars 32 forks source link

Building for macOS / OSX #13

Open tcfunk opened 7 years ago

tcfunk commented 7 years ago

Hi I was wondering if you knew any special steps I might need to take to build this library correctly for Mac? These were the steps I took:

  1. Check out v1.2
  2. cmake .
  3. make
  4. cp nuklear.so to my project directory
  5. Include nuklear with nk = require 'nuklear'

However when I try to run nk.init() I get the following:

Error: main.lua:16: attempt to call field 'init' (a nil value)
stack traceback:
        main.lua:16: in function 'load'
        [string "boot.lua"]:439: in function <[string "boot.lua"]:435>
        [C]: in function 'xpcall'

I tried checking what keys existed in the nk table, and printing those out gave me:

0       function: 0x15d32e50

Calling that function with nk[0]() produced:

Error: attempt to compare string with function
stack traceback:
        [C]: at 0x0f9c2960
        main.lua:17: in function 'load'
        [string "boot.lua"]:439: in function <[string "boot.lua"]:435>
        [C]: in function 'xpcall'

Am I missing something obvious? Any help is appreciated :) Thanks for the great library.

karai17 commented 7 years ago

nuklear is now instanced so you can have multiple UI states. I think the readme just hasn't been updated yet.

local nk = require "nuklear"
local ui = nk.newUI()
tcfunk commented 7 years ago

So weirdly it seems the library works as expected on my older macbook pro, using the old nk.init() method. (I have the v1.2 branch checked out).

However it doesn't work on my newer macbook pro using the same nuklear.so

It also doesn't work if I build the nuklear.so on the newer laptop. Not sure what's going on 🙁

keharriso commented 5 years ago

This is indeed very weird. Does this still happen with the latest release? Unfortunately I'm unable to test the code on Mac OS.

sashalemon commented 5 years ago

Here's a datapoint: with the Love from Cask, on 14.14 (Mojave) with an older MacBook Air, and using the source from HEAD, the example in the Readme doesn't crash and seems to work as intended.