Hello guys, I have readden all communities of OpenFL 4.0.0 and 3.0.0 wow it is new version.
I have downloaded github same version Lime 3.0.0,
I replace from 3,0,0 ( installed Lime 3.0.0 ) to 3,0,0_bkp, I create directory 3,0,0 and I copy from lime3_github to 3,0,0 and I copy from 3,0,0_bkp to 3,0,0
Than I type command:
lime rebuild windows -clean
It compiles fine.
lime rebuild windows -debug -clean for debug mode of lime
It compiles fine.
I want to -static
lime rebuild windows -static -clean
than it shows error message:
Link : …/ndll/Windows/liblime.lib
ce0daa78_cairo-freed-pool.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
ce0daa78_cairo-fixed.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
What do I miss sometimes?
How do I fix it? I want static mode of lime app without many files of mainlimeapp.exe
“Windows” -> Fine
"Windows -debug" -> Fine
"Windows -static" -> Failed but lib is here
"Windows -static -debug" -> Failed but lib is here
I try lime build windows -static than it gets error. I already check ndl/windows/liblime.lib still exist. Why does it happen with liblime.lib has error of library.
Link : Main.exe
Creating library Main.lib and object Main.exp
f9a59cb0_Main.obj : error LNK2019: unresolved external symbol _regexp_register_prims referenced in function _WinMain@16
libApplicationMain.lib(1b37f06c_RunLibs.obj) : error LNK2001: unresolved external symbol _regexp_register_prims
f9a59cb0_Main.obj : error LNK2019: unresolved external symbol _std_register_prims referenced in function _WinMain@16
libApplicationMain.lib(1b37f06c_RunLibs.obj) : error LNK2001: unresolved external symbol _std_register_prims
Main.exe : fatal error LNK1120: 2 unresolved externals
Error: error running link.exe -out:Main.exe -nologo -machine:x86 -subsystem:windows,5.01 -libpath:lib user32.lib @obj/msvc16-stat-ncxp/all_objs D:\Binaries\HaxeToolkit\haxe\lib/lime/3,0,0/ndll/Windows/liblime.lib gdi32.lib opengl32.lib user32.lib kernel32.lib advapi32.lib winmm.lib imm32.lib ole32.lib oleaut32.lib version.lib ws2_32.lib wldap32.lib shell32.lib comdlg32.lib libApplicationMain.lib
And for lime build windows -debug -static ->
Link : Main-debug.exe
Creating library Main-debug.lib and object Main-debug.exp
2d3db8d2_Main.obj : error LNK2019: unresolved external symbol _regexp_register_prims referenced in function _WinMain@16
libApplicationMain-debug.lib(d9cda6b8_RunLibs.obj) : error LNK2001: unresolved external symbol _regexp_register_prims
2d3db8d2_Main.obj : error LNK2019: unresolved external symbol _std_register_prims referenced in function _WinMain@16
libApplicationMain-debug.lib(d9cda6b8_RunLibs.obj) : error LNK2001: unresolved external symbol _std_register_prims
Main-debug.exe : fatal error LNK1120: 2 unresolved externals
Error: error running link.exe -out:Main-debug.exe -nologo -machine:x86 -debug -subsystem:windows,5.01 -libpath:lib user32.lib @obj/msvc16-stat-debug-ncxp/all_objs D:\Binaries\HaxeToolkit\haxe\lib/lime/3,0,0/ndll/Windows/liblime-debug.lib gdi32.lib opengl32.lib user32.lib kernel32.lib advapi32.lib winmm.lib imm32.lib ole32.lib oleaut32.lib version.lib ws2_32.lib wldap32.lib shell32.lib comdlg32.lib libApplicationMain-debug.lib
you know like this:
“lime build windows” -> FINE!
“lime build windows -debug” -> FINE
"lime build windows -static" -> FAIL!!!
“lime build windows -debug -static” -> FAIL!!!
lime rebuild hxcpp windows -clean
both have no warning messages. Fine!!!
lime rebuild windows -clean
lime.ndll and lime-debug.ndll are fine
lime rebuild hxcpp windows -static
both outputs are good without warning messages…
lime rebuild windows -static
But both have always same warning messages like this:
Link : …/ndll/Windows/liblime-debug.lib
4f73f91d_cairo-freed-pool.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
4f73f91d_cairo-fixed.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
Thanks my best, I hope you get successful fresh static files. If you get error like my same solution. I hope you fix it than you can say if next revision - I will recompile 100 %. Good luck!
The good news is I got it working – but the bad news is that I don’t have it working automatically.
Somewhere along the line, HXCPP must have changed to filter out the “std” and “regexp” libraries from our build XML. Our build XML has something like this when generated on a static build:
…where are std and regexp? HXCPP is stripping them out somewhere in its build process, it seems
When I build manually (with the same HXCPP build command from the same directory) but rename these libraries to “foo” and “foo2” instead of “std” and “regexp” it works properly, as it should.
If we omit these libraries when performing a static link build, you think it would work? I thought with the newer HXCPP, you had to opt into static std and regexp, through some other method?
If i use “lime build windows -static” and it gets always error because std and regexp are not correct?
If it is possible for wrong version of Haxe 3.3.0-rc.1
I think we need “downgrade” to Haxe 3.2.1?
If Haxe 3.2.1 has clean std and regexp? Can we try if it works with static / embedded application?
So sad with "lime rebuild windows -static -clean than it shows always stupid warnings but 2 symbols do not move to static mode.
How do we fix it with static apps. It sees like died with static / embedded applications. I miss that time. Since Haxe 3.1.2, Lime 2.9.0 and OpenFL 3.6.0 have no problem with static and work fine without errors and warnings.
Link : …/ndll/Windows/liblime.lib
4f73f91d_cairo-freed-pool.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
4f73f91d_cairo-fixed.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
2 objects are not compiled successful and they will get error for static application. PS: Can everybody downgrade or fix Cairo framework/library?
I think because Cairo library has 2 warning because it has no support to std and regexp or I will check cairo library files
I found “cairo-fixed.c” has not content only 2 #include … no voids no variables, no functions. Why does it not need to add to object files. Because 2 warnings mean 2 files are unusable to lib files.
Fixed bonus: You need to re-save 2 files “cairo-fixed.c” and “cairo-freed-pool.c” than try "lime rebuild windows -static -clean"
than it sees output no warning now… yay…
Shit that is why std and regexp errors…
f9a59cb0_Main.obj : error LNK2019: unresolved external symbol _regexp_register_prims referenced in function _WinMain@16
libApplicationMain.lib(1b37f06c_RunLibs.obj) : error LNK2001: unresolved external symbol _regexp_register_prims
f9a59cb0_Main.obj : error LNK2019: unresolved external symbol _std_register_prims referenced in function _WinMain@16
libApplicationMain.lib(1b37f06c_RunLibs.obj) : error LNK2001: unresolved external symbol _std_register_prims
No answer yet. I am still waiting for solutions. If you don’t answer - I wait for fixing solution.I don want to wait until my bones. That is why I want how do I fix reveal and strong??? Thanks!
I am using Haxe 3.3.0
HXCPP 3.3.67
Lime 3.0.3
OpenFL 4.0.3
Always gets error
But NME, Waxe and HXCPP work fine like real codings.
HXCPP 3.3.67
NME 5.6.16
Waxe 3.1.1
If I use OpenFL 4.0.3 for NME. I will check how does it works?
NME has same OpenGLView like OpenFL has OpenGLView
If you get nme’s openflview than you can type “nme create simpleopenglview” than cd simpleopenglview and nme test cpp -static than you will see application’s background is black and white quad.
That is why it works fine for me. Lime/OpenFL work for me only normal version non embedded applications I need use Virtual Box or BoxedApp Packaer than application’s content to packed / embedded application.
But nme has no problem with embedded application because nme recognizes good with regexp and std while compiling process shows hxcpp’s directory thridparty contents that is why it can compile together. Great work, NME! Lime won’t work together since thridparty contents have regexp and std into compiled application’s content - That is why you forget to add functions like NME’s after compiling from HXCPP’s thridparty.
Please make sure next version for Lime 4.0.4 adding functions like NME’s after-compiling for -static, -X86, -X64, -debug -release
Yes it is very stable and old. You know Lime 2.9.0 for me no problem with static version but I loose project directory from github because sources from github uses only Lime 3.0.3 Where do I find developed version Lime 2.9.0 from github?