phofman / vs-plugin

Visual Studio Plugin for BlackBerry Native Development
13 stars 3 forks source link

Cannot find the BlackBerry binary file under "Device-Debug" / "Device-Release" directory #52

Closed HongkunWang closed 9 years ago

HongkunWang commented 9 years ago

Quite often, the "Build" action does not create the final binary file even there is no any error during the compilation. As the result, the "Deploy" action reports error saying that cannot find the BlackBerry binary file under "Device-Debug" / "Device-Release" directory. The work around is do a "clean" on the project, without changing any source code. But this work around can be painful since it cause all dependencies rebuilt.

phofman commented 9 years ago

The build system is following - Visual Studio generates makefile, similar to the one used by Momentics and then make from BlackBerry NDK is used to perform the actual build. Could you please provide any logs from both layers (Visual Studio + make) plus makefile itself plus anything more, that could let start the investigation?

phofman commented 9 years ago

Just had similar situation (first in my life!) and ended-up with following log:

1>  qcc -V4.6.3,gcc_ntoarmv7le  ./bbutil.o ./main.o   -lang-c++ -g -Wl,-z,relro,-z,now -o "T:/temp/VS2015/OpenGL2App3/Device-Debug/OpenGL2App3" -lbps -lscreen -lEGL -lGLESv2 -lfreetype -lpng -lm  -LC:/bbndk/gold_2_0/target_10_2_0_1155/qnx6/armle-v7/lib -LC:/bbndk/gold_2_0/target_10_2_0_1155/target-override/armle-v7/lib -LC:/bbndk/gold_2_0/target_10_2_0_1155/target-override/armle-v7/usr/lib
1>        0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
1>  AllocationBase 0x0, BaseAddress 0x60E90000, RegionSize 0x450000, State 0x10000
1>  C:\bbndk\gold_2_0\host_10_2_0_15\win32\x86\usr\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

and according to Question on StackOverflow.com this is an issue related to corrupted Cygwin storage and system reboot should help (or manual rebasing of msys-1.0.dll). It's not something the plugin can deal with.