Menu

#21 no matching function all in DesktopConfig.cpp

v1.0_(example)
open
FixXxeR
None
3
2020-03-23
2016-10-03
No

fails to make from source 0.7.5

looks like your header files c++ definition is not matching.

userx@voided.org & idesk-0.7.5 >> $make
make: Circular aclocal.m4 <- aclocal.m4 dependency dropped.
make all-recursive
make[1]: Entering directory '/home/userx/bin/idesk-0.7.5'
make[1]: Circular aclocal.m4 <- aclocal.m4 dependency dropped.
Making all in src
make[2]: Entering directory '/home/userx/bin/idesk-0.7.5/src'
make[2]: Circular defaults.h <- Makefile dependency dropped.
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -O2 -DSHAPE -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -c DesktopConfig.cpp
DesktopConfig.cpp: In member function 'virtual void DesktopConfig::setDesktopOnlyOptions(Table)':
DesktopConfig.cpp:134:40: error: no matching function for call to 'stat::stat(const char, stat)'
if( stat( directory.c_str(), &b ) < 0 ){
^
DesktopConfig.cpp:134:40: note: candidates are:
In file included from /usr/include/fcntl.h:79:0,
from DesktopIconConfig.h:28,
from DesktopConfig.h:30,
from DesktopConfig.cpp:25:
/usr/include/bits/stat.h:46:8: note: stat::stat()
struct stat
^
/usr/include/bits/stat.h:46:8: note: candidate expects 0 arguments, 2 provided
/usr/include/bits/stat.h:46:8: note: stat::stat(const stat&)
/usr/include/bits/stat.h:46:8: note: candidate expects 1 argument, 2 provided
DesktopConfig.cpp:155:40: error: no matching function for call to 'stat::stat(const char, stat)'
if( stat( directory.c_str(), &b ) < 0 ) {
^
DesktopConfig.cpp:155:40: note: candidates are:
In file included from /usr/include/fcntl.h:79:0,
from DesktopIconConfig.h:28,
from DesktopConfig.h:30,
from DesktopConfig.cpp:25:
/usr/include/bits/stat.h:46:8: note: stat::stat()
struct stat
^
/usr/include/bits/stat.h:46:8: note: candidate expects 0 arguments, 2 provided
/usr/include/bits/stat.h:46:8: note: stat::stat(const stat&)
/usr/include/bits/stat.h:46:8: note: candidate expects 1 argument, 2 provided
make[2]: [Makefile:301: DesktopConfig.o] Error 1
make[2]: Leaving directory '/home/userx/bin/idesk-0.7.5/src'
make[1]:
[Makefile:161: all-recursive] Error 1
make[1]: Leaving directory '/home/userx/bin/idesk-0.7.5'
make: *** [Makefile:311: all-recursive-am] Error 2

Discussion

  • Squeekers

    Squeekers - 2020-01-06

    Add #include <sys/stat.h> to DesktopIconConfig.h - it solves the error.
    For some reason, GCC defaults to bits/stat.h, whereas sys/stat.h is the recommended header.

     

    Last edit: Squeekers 2020-01-06
  • neagix

    neagix - 2020-03-23

    I maintain an updated fork at https://github.com/neagix/idesk in case you are interested

     

Log in to post a comment.