App Development Environments


This topic could serve to answer one question and perhaps assist in expediting others’ development for applications to run across the SAFE Network. The question is: Could Qt Creator with the GUI and the libraries of QtCore be compatible with SAFE Network? If so, is there still a better framework to use?


=QtCreator C++ Dev Environment - IDE with MaidSafe
=VIM/YCM C++ Dev Environment - Command Line with MaidSafe

Please post your tutorials here.

Yes we used that in house to create some sample apps a while back, its perfectly fine. If you point qtcreator at the cmakelists.txt fill in the project root it will automatically create your project structure and load ours. You can poke about the code pretty quickly there.

For vim users I have a vimrc that works quite well and adds a lot of helpers like auto code formatting in place compiling tage generators etc. That is here


If you point qtcreator at the cmakelists.txt fill in the project root it will automatically create your project structure and load ours. You can poke about the code pretty quickly there.

Figured that part out here, how to point QtCreator that is:

@dirvine Where will I find the cmakelists.txt which you are referring to ?

1 Like

If you follow the build instruction for either the project itself or the examples project there will be a CMakeLists.txt in the root dir. Any cmake based project follows this pattern. So point at the root dir of the project you are looking at. There tends to be subdirs with their own CMakeLsits.txt also, so choose the root one.


Here is a wee example of Qt integration to create a multisig application (you will find the c++ code you need in the signing tool in common MaidSafe-Common/ at master · maidsafe-archive/MaidSafe-Common · GitHub ) , I cannot remember what state it was in but as long as you have the maidsafe_exports file around as you do in the example projects then its a QT QML integration. I did this about 2 years ago and have zero time right now to do things like it, so you are more than welcome to use this as a basis for your testing, playing etc. You must have the maidsafe_export.cmake available though. That is in the root of the build dir when you make the project.


I am up to this; and I understand the goal though the steps are vague to me yet, this is the first time I am doing this.


Thats the one.


There is a step I am missing,
1 2 3 4,

Right on the page you posted, hit enter. It should ask you to select a build dir and then you have the project and all targets. Soffy for delay, lost for a second or two there.

1 Like

Proof of Human: Went to eat.

I’ve returned, so in the page that is listed there it is asking for the location of the cmake executable instead I decided to try just opening the project, you can see what happened in the 40 seconds video, the following:

1 Like

From Build Instructions for Linux · maidsafe-archive/MaidSafe Wiki · GitHub

git clone
git -C MaidSafe submodule update --init

Maybe this is not obvious enough on that page, I am not sure it is looking at it.


I should say you need to run the git submodule command from the project route. It will tell you that if you run it anyway. HTH


Yes, I am updating the modules now, on a fresh clone. It is obvious I knew exactly where to go to find the source and the commands.

also, what is ‘HTH’ ?

My files with CMake are not properly configured I will use some minutes to reconfigure/reinstall CMake.

The latest:

In the next image; Don’t forget the CBFS otherwise it won’t go through correctly.

This is the error I am getting on Qt when trying to open a new build of MaidSafe Source

CMake Error at CMakeLists.txt:49 (project):
No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting the CMake cache entry
CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler
name if it is in the PATH.

Solutions for this problems is found here:

1 Like

HTH → Hope This Helps


@dallyshalla: Maybe you could make a FAQ sometime, describing this process. I like the use of the high res images, really helps the flow with these techy things.

Maybe a ‘Tutorial’ Category would be helpful, if folk started reporting their experiences like this.


I think you perhaps need to install a compiler → if you follow the page here it should install everything you need. Build Instructions for Linux · maidsafe-archive/MaidSafe Wiki · GitHub

1 Like

Oh are you on windows ? We only support MSVC at the moment on windows. You can get this free of charge though. (msvc 2013) then you need to follow the page here Build Instructions for Windows · maidsafe-archive/MaidSafe Wiki · GitHub


Yes, I have 3 versions of Visual Studio and for some reason in Qt it is trying to run only the 2010 version.

I am not 100% sure here, when @Viv is around he can maybe help, he does a lot of that work. I am lost outside linux I am afraid. Last used MS in 1994 unfortunately.


@dirvine Is there a peer to peer c++ library or example which you can recommend? one which will connect clients peer to peer like bit torrent?

NAT Traversal c++

The purpose of this is to have a model on which to prove logical code.