Thought on Visual Studio Code for C++

I was thrilled when Microsoft announced their own open source code editor based on web technology, first thing I had on my mind was intellisense on my Linux box. Now after using it for a while, I have mixed feeling about it but mostly positive.
I have to explain my background, so you can understand my personal bias. I use visual studio for my day to day job handling thousands lines of c++ code, you can count me as happy user of it. Also for my scripting needs (lua, python, batch) I use Notepad++. For years QtCreator is my first to go C++ IDE in my linux, and I hoped Visual Studio Code could replace it.
Visual Studio Code comes with all things you can expect from modern text editor, quick command, keyboard navigation, git integration, code completion, extension repository, etc. It has broad language support with typescript and C# as first class citizen, C++ only gets sintax coloring and bracket matching. Continue reading

Compiling Cocos2DX in Ubuntu Linux

Cocos2DX is one of most popular game engine in the world and it supports almost all popular platform available. Here is how we can compile cocos on Ubuntu Linux.

  1. Compiling Cocos2DX in ubuntu linux
    Download cocos from http://cocos2d-x.org
  2. Prepare dependencies :
    libx11-dev
    libxmu-dev
    libglu1-mesa-dev
    libgl2ps-dev
    libxi-dev
    g++-4.9
    libzip-dev
    libpng12-dev
    libcurl4-gnutls-dev
    libfontconfig1-dev
    libsqlite3-dev
    libglew-dev
    libssl-dev
    glfw3

    Go to /build directory inside cocos package
    run :

    sudo ./install-deps-linux.sh
  3. Create makefile
    mkdir lxbuild
    cd lxbuild
    cmake ../
  4. compile
    make

Now you can check lxbuild directory for some compiled library.

Modifying Windows Store Application Package

Sometimes we need to modify our application package without taking a long time rebuilding the project, I hope this note helps you to do it.

Let’s say we have application named SmartPak and we forgot to include configuration file when building the app. What we will do is extracting the SmartPak.appx, copy the configuration file into it then package it again.
However we couldn’t do it using traditional archive manager like 7zip or winzip, Microsoft provides tool to handle this case and it already included in Windows SDK since 8.1.

So currently we have this directory structure :
gbr1 Continue reading

Faux Variadic On Visual C 11 (Visual Studio 2012)

Yes yes yes

That’s the answer if you ask me whether I have personal problem with VC 11 (Visual Studio 2012).

Another problem which I found interesting is how variadic list was implemented in VC11, they called in Faux Variadic. In short this feature is not yet fully supported, or you could say it works via workaround. However this workaround have some side effects, the one most affects me is the number of maximum argument was reduced to reduce compiler memory consumption.

Normally we would have function with variadic list ┬áhandles 6 even 10 argument, however you couldn’t do it on VC 11 by default. In order to allow this scenario you have to define _VARIADIC_MAX, the default number is 5. This surely comes with side effects, compiler would eat more memory than before.