cppUnit with Windows+minGW - c++

I'm using minGW with NetBeans to programming in C++. I know that I should use VS but it's defined to use NB.
Now I need to make unit tests. I tried to use cppUnit but I just can´t install it correctly. I tried to follow several tutorials and nothing.
From commands errors to NetBeans errors.
I have minGW installed with Msys.

I tried to use cppUnit but I just can´t install it correctly.
You can't install CppUnit out of the box, you have to build it before.
Steps to do
Get the sourcecode
Build it
Install (depends on how you handle your probjects)
Add to your project
Get the sourcecode
You can get the sources from the CppUnit website at freedesktop.org.
Either clone the git repository or download the release version.
Build it
The build is done using configure and make:
cd cppunit
./autogen.sh
./configure
make
make install
Do not use the windows cmd for that, this may fail - use sh instead (eg. open a cmd and execute sh to get a mingw shell).
Install
For installation on windows see INSTALL-WIN32.txt file within cppunit.
Add to your project
You have to add the compiled binaries to the linker- and header paths to compiler flags. This strongly depends on how you build your project (= the one with your unit tests).
Since your question is tagged with netbeans, there's something realy cool:
You can add cppunit only as testing dependency. For a default NetBeans C/C++ this is done through a right click on "Test Files" -> Properties" -> "C(++) Compiler respectively Linker settings.
Unit tests can be added manually or through the "New File" Dialog.

Related

Cannot Run Compiler 'cl' for qt5.10.1 on Windows 10 in terminal

I have never used qt before, but I got a task to build an already existing application for Windows and Mac using the newest version of qt. What I have done so far is:
Installed Visual Studio Professional 2017.
Installed the latest Qt 5 Open Source.
Note: when installing the QT 5 I installed all of the components under QT/ QT 5.10.1 which were: qt 5.10.1 components and under QT/Tools I installed QT Creator 4.6.0 CDB Debugger Support and MinGW 5.3.0 : qt 5 Tools
I cloned the branch from GitHub that I wanted to build to C:/Projects
Then in Git Bash I cd to the project and tried to run qmake. The first time I had this problem:
"bash: qmake: command not found"
After searching into the problem I found out that I haven't added "Qt/5.10.1/msvc2017_64/bin" to PATH and I added it. Now when I echo $PATH I can see the directory added.
Now after bash recognises qmake and I try to run it it says:
Project ERROR: Cannot run target compiler 'cl'. Output:
===================
Maybe you forgot to setup the environment?
I have no idea how to fix the problem due to the fact that I have never used QT to build anything before. Can you help me?
In the read me file for the application I am trying to build it says:
Step-by-step instructions
1. Clone this branch
2. cd into the project
3. Run qmake - this wil generate Makefiles for all of the project's modules
4.Run make (Use the -j4 of -j flags - this greatly speeds up the build process - see the manual page for make for more info). You can also use the -s flag to silence the output - this also wins you a few seconds.
I am a bit puzzled by the instructions, it does not say to run qmake -project anywhere, but there is a qt project file in the directory that I cd to. Does this mean that I don't have to run qmake -project?
Also I have no idea how to run make by using the -j4 and -j flags and how to run flags in general. Could someone help me?
I believe that for the Cannot Run Compiler 'cl' issue I have some kind of a problem with the set up. Did I install too many components or is it to do with the VS setup?
I highly recommend you to install Qt from the Qt installer, and to use Qt Creator.
However, if you want to use it from source, you first need to get a compiler (ex: MinGW). Then you need to execute the instructions, but you need to use a MinGW (or whatever compiler you use) command prompt, which will automatically set the environment variables needed.
Note that this is Windows specific. On mac and linux, the compiler's environment variables are already set in the default command prompt (if there is a compiler, obviously).

What is different of wxWidgets between when install by MSYS and compile by MinGW?

I am learning GUI programing on Windows, and I choose wxWidgets, Eclipse, MinGW for my learning. I can compile wxWidgets with command:
mingw32-make SHELL=CMD.exe -j4 -f makefile.gcc BUILD=release UNICODE=1
And I found that I can install it by MSYS by command
cd /mingw/wxWidgets-2.8.10
./configure –prefix=/mingw –disable-shared
make && make install
What must I do to integrate wxWidgets with Eclipse? Do I compile it by MinGW or install it by MSYS and How can I set up it for Eclipse Neon?
`
From your standpoint there is no difference.
It is better to compile the library with MinGW and do a DEBUG build since you will do development and a lot of times this will help a lot.
Now in order to set it up with Eclipse:
After you build is finished, open up Eclipse.
Create a project (C++) or open an existing one.
Open the dialog for project properties and find where it asks you to set the "include/header search path".
Set this to be "/include;/lib/debug/include". The second path is a path to the build_directory/include where setup.h is located.
In the same dialog for project properties find where it asks for a library search path.
There enter "main_wx_folder/lib".
Somewhere in that same page of this dialog find where it referencing the actual libraries. Add "-lwx_base... -lwx_core...". Check the actual file names inside the lib/ folder. Should be something like libwx_*.
Compile the project.
Keep in mind though that Eclipse is not "officially supported" IDE, meaning that there is no project for that IDE supplied with the library and there is not too many people use it for C++ development with wx.
The "official supported IDE" for wx are: MSVC, CodeBlocks and (to some extent) CodeLite.
It use to support Borland compiler (and IDE), but unfortunately there was a recent posts on the forum that recent version of Embarcadero broke the build of the library. This compiler is still supported though.
Good luck! If you have any issues don't hesitate to update the question with any possible errors.

How to install wxwidgets on Eclipse Mars.2 Mac?

I want to start doing some c++ but need it to be cross platform. I have found wxWidgets as a GUI solution and will use some of their SQL solutions for my program.
I tried searching the internet for how to install wxwidgets on Eclipse Mac but no luck. Haven't found anything that I can wrap my head around it.
wxWidgets is a C++ cross-platform and cross-compiler solution. It means that you don't need to install it. You can just compile it and use it to develop a software.
In order to compile this library, you should have a C/C++ compiler (clang or gcc on OSX/Mac) and their toolchain. Also if you plan to develop for OSX, you shuold have an OSX/Cocoa SDK installed (it is installed automatically with Xcode, have no idea about Eclipse).
In order to do so, you should:
Install C/C++ compiler (either with Xcode or Eclipse or any other IDE you have available).
Download latest wxWidgets release and unpack to you home diectory.
Open up a Terminal and issue following commands:
a. cd ~/wxWidgets
b. mkdir buildMac
c. cd buildMac
d. ../configure --enable-debug --with-cocoa --with-mac-osx-version-min=10.7 && make
e. ./wx-config --cxxflags
f. ./wx-config --libs
Open up Eclipse and start a new C++ project. If you are on OSX you may choose C++ bundle application.
Open the project properties and copy the results of the commands 3e and 3f to the project properties where appropriate. Consult with Eclipse manual/ML/forum to understand where to put that info.
Copy the file ~/wxWidgets/samples/minimal/minimal.cpp to you project directory and add this file to you project. Compile and run the project.
If you get stuck with any of the above instructions or get an error during compilation of either library or your project - don't hesitate to ask either here or open another thread.
Also, you can register on the wxWidgets forum at forums.wxWidets.org and subscribe to the wx-users ML.
Good luck.

Cannot open include file 'getopt.h'

Firstly, I know nothing about C/C++, but I am trying to compile LCI https://github.com/justinmeza/lci under Windows 10 with Visual Studio 2015, but I'm getting the following error:
Cannot open include file: 'getopt.h': No such file or directory.
I see that getopt is not part of Visual C so people are saying you have to implement your own. It looks like this is what I need:
https://github.com/skandhurkat/Getopt-for-Visual-Studio/blob/master/getopt.h
Problem is, I don't really know what to do with this file. I've been reading a fair bit and messing around for ages just to compile lci.exe!
Already emailed the OP about this, but here's the steps I followed in order to build lci successfully. The missing step seemed to be that Justin Meza neglected to mention that you need to install CMake as well in order for the install script to work. CMake will allow you to build C code against the glibc headers.
Install MinGW
Install Python 3.5.1 (or latest Windows version)
Install Git for Windows (if you haven't already)
Make sure to enable Git for the Windows command prompt
Install CMake
Add MinGW and Python to your PATH environment variable. I'd double check that your paths to the executables are correct, mine looked like this:
C:\Program Files\mingw-w64\mingw64\bin
C:\Users{username}\AppData\Local\Programs\Python\Python35-32
Run a command prompt as administrator, and go to your Documents folder and clone the lci repository (if you haven't already):
git clone https://github.com/justinmeza/lci.git
Go into the lci directory, and run:
install.py --prefix="C:/Program Files/lci"
Add lci to you PATH, if using the default location add this to the end of your PATH:
C:\Program Files\lci\bin
I would have included some links to the various programs above in steps 1-4 but apparently I don't have enough reputation on StackOverflow for that...you should be able to find them easily enough in a quick Google search.
You should now be able to run lci from any command prompt. A good test would be to run the "HAI WORLD" code at lolcode.org.
Just copy getopt.h to the directory where .c files are, so the compiler can find it.
Based on the linked source code and it's contents, the project you're trying to build appears to be written for Linux. It might be possible to sufficiently rewrite it to be able to compile under Microsoft Windows, and Microsoft's compiler; or perhaps install something like MinGW.
However, given your stated lack of development experience, this does not appear to be something that you could easily handle on your own.

How to build cmake-project with atom text editor?

I've installed packages build and build-make, and it's not obvious what to do next.
Build-tools package is bugged and impossible to install now.
I have cmake project, sucsessfully build in different IDE: QTCreator, VisualStudio, via bash. So i want to make it with atom, and there is no instruction how to use it's build-make package. Documentation to this package is empty.
in bash i call: cmake ../src from my build dir.
So in .atom-build.json i put this command and point directory as working - and nothing happens, on f9 i've god "Cannot read peoperty "exec" or undefined"
Actually, there is a cmake package for Atom.
Here you go:
https://atom.io/packages/build-cmake
Firstly, CMake and make are two different things.
What you are looking for is a CMake plugin for Atom, of which there are currently none. (Some for syntax highlighting but none for running graphically...)
If you have CMake working in other IDEs then you shouldn't have a problem running CMake from the command line:
cd /path/to/project
cmake .