I'm writing test program with gtkmm. When I'm trying to compile my app with this argument:
--- g++ checkmain.cpp check.cpp -ocheck 'pkg-config gtkmm-2.4 --cflags --libs'
--
The above command which I'm typing not work and compiler says:
------------- g++: pkg-config gtkmm-2.4 --cflags --libs: No such file or directory
-------------
Well I seen exactly same command in a web site and copy and paste that in a file. I edit the command and compile my program and everything is OK.
This is correct command:
---------------------- g++ checkmain.cpp check.cpp -o check `pkg-config gtkmm-2.4 --cflags --libs`
----------------------
I confused here. I want to know what is exact difference between these:
my cod: 'pkg-config gtkmm-2.4 --cflags --libs'
and netcode: `pkg-config gtkmm-2.4 --cflags --libs`
well if my quotations are the problem (it seemed) how can I type right quotes via terminal?
In bash
'quotes' are used to pass the argument as is. So you don't have to escape the special characters like space, *, ?, {}, etc. (no shell expansion)
`backstick` pass the stdout of the command as argument. Equivalent to $(command).
It may be better to use "$(command)" so you are sure that it will expand to 1 argument