yglukhov / nimx

GUI library
MIT License
1.1k stars 75 forks source link

could not load some dlls #143

Closed kingofoz closed 8 years ago

kingofoz commented 8 years ago

hi @yglukhov I get this error when build main.nim, can you please take a look? I have nake and nimx installed successfully by nimble.

by the way, when I tried to build examples in test folder, I get a lot of below errors: os.nim(135) raiseOSError nake.nim(90) moduleHook nakelib.nim(260) runTask naketools.nim(744) :anonymous naketools.nim(642) build naketools.nim(446) nimbleOverrideFlags naketools.nim(206) nimblePath osproc.nim(1225) execCmdEx osproc.nim(559) startProcess os.nim(135) raiseOSError Error: unhandled exception: The system cannot find the file specified.

Additional info: Requested command not found: 'nimble.cmd path nimx'. OS error: [OSError] No task specified, running default task defined by nakefile. windres: build\windows\nimcache\MyGame_res.o: No such file or directory

Note: I am using Nim 0.14.2 binary.

yglukhov commented 8 years ago

Hi @kingofoz, the first bug is fixed in nim devel. The second is interesting. In the command prompt where you run nake, what does the following say?

nimble.cmd path nimx

Are you using cmd or cygwin shell?

kingofoz commented 8 years ago

Hi @yglukhov For the first issue, I will try nim devel. For the second issue, the output of "nimble.cmd path nimx" is "'nimble.cmd' is not recognized as an internal or external command, operable program or batch file." So nimble.cmd is not found. I am using cmd on windows 7.

By the way, it is possible to run nimx on Andriod?

yglukhov commented 8 years ago

@kingofoz, sorry for delayed response. How do you run nimble then? Does nimble path nimx work?

By the way, it is possible to run nimx on Andriod?

Sure. Nimx "officially" supports Andoid, iOS, Windows, Linux, MacOS, JS and asm.js.

kingofoz commented 8 years ago

Hi @yglukhov Sorry the the delay, I was occupied by some other stuff. Today I tried with nim devel and the previous issues are gone, but I run into some dll lacking issues. main.nim can compile, but it can not be run. See this: Hint: abstract_pasteboard [Processing] Hint: key_commands [Processing] Hint: [Link] Hint: operation successful (71552 lines compiled; 18.779 sec total; 102.008MiB; Debug Build) [SuccessX] Hint: d:\labs\nimx\main.exe [Exec] could not load: SDL2.dll Error: execution of an external program failed: 'd:\labs\nimx\main.exe '

I downloaded a SDL2.dll and put it in the folder where main.exe exists. And main.exe can be run. Is this normal?

After this, I went to $(nimble path nimx)/test and ran nake, I got another dll lacking error:

nake could not load: pcre32.dll

Please give me some guide on solving the issues.

yglukhov commented 8 years ago

Yes, nimx currently depends on SDL. Eventually we shall get rid of it =). As for pcre, unfortunately it is required by jester (maybe @dom96 will eventually switch to pegs or smth ;) ?). pcre32.dll should come with your nim installation. If you can't find it, please ask about it on the forum or submit an issue to nim tracker.

dom96 commented 8 years ago

As for pcre, unfortunately it is required by jester (maybe @dom96 will eventually switch to pegs or smth ;) ?)

Create an issue in the jester repo and I will add a flag to disable it, but as far as regex is concerned it will stay in Jester (very few people know of pegs).

dom96 commented 8 years ago

What we really need is a native Nim regex implementation ;)

kingofoz commented 8 years ago

@dom96 please see the issue https://github.com/dom96/jester/issues/82

kingofoz commented 8 years ago

@yglukhov please remove SDL. I like nimx but don't like SDL. :-)

kingofoz commented 8 years ago

@yglukhov by the way, do we have any document about how to use nimx on Andriod?

yglukhov commented 8 years ago

@yglukhov please remove SDL. I like nimx but don't like SDL. :-)

Feel free to contribute! ;)

@yglukhov by the way, do we have any document about how to use nimx on Andriod?

Just run nake droid, fix the errors it complans about, and thats it. Basically you'll have to have sdl sources, android sdk, android ndk, and set corresponding env vars (paths to all this stuff). Everything else nake droid does for you.

yglukhov commented 8 years ago

I'm closing this for now. Feel free to open more specific issues.

SerialDev commented 5 years ago

What we really need is a native Nim regex implementation ;)

Is this still needed?

dom96 commented 5 years ago

This exists nowadays https://github.com/nitely/nim-regex. We need it in our stdlib :)