Zusätzliche Headerdateien etc. als Parameter bei GCC/make verwenden..?



  • Hallo zusammen

    Ich versuche was zu kompilieren, allerdings scheint der Verweis aufgrund des neuen Raspbian "Buster" 10 auf mysql.h nicht mehr zu laufen:

    root@localhost:~/GIT/PF_CPPP/indiv# make -w -j4
    make: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    make[1]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    [ 66%] Building CXX object CMakeFiles/indiv.dir/root/GIT/PF_CPPP/include/indiv.cpp.o
    [ 66%] Building CXX object CMakeFiles/indiv.dir/main.cpp.o
    In file included from /root/GIT/PF_CPPP/include/indiv.cpp:1:
    /root/GIT/PF_CPPP/include/indiv.h:24:10: fatal error: mysql.h: Datei oder Verzeichnis nicht gefunden
     #include <mysql.h>
              ^~~~~~~~~
    In file included from /root/GIT/PF_CPPP/indiv/main.cpp:1:
    /root/GIT/PF_CPPP/indiv/../include/indiv.h:24:10: fatal error: mysql.h: Datei oder Verzeichnis nicht gefunden
     #include <mysql.h>
              ^~~~~~~~~
    compilation terminated.
    compilation terminated.
    make[2]: *** [CMakeFiles/indiv.dir/build.make:63: CMakeFiles/indiv.dir/root/GIT/PF_CPPP/include/indiv.cpp.o] Fehler 1
    make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
    make[2]: *** [CMakeFiles/indiv.dir/build.make:76: CMakeFiles/indiv.dir/main.cpp.o] Fehler 1
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/indiv.dir/all] Fehler 2
    make[1]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    make: *** [Makefile:84: all] Fehler 2
    make: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    root@localhost:~/GIT/PF_CPPP/indiv#
    

    ...nun habe ich deswegen die entsprechenden lib...-Pakete installiert:

    root@localhost:~/GIT/PF_CPPP/indiv# find / | grep mysql.h
    /usr/include/mariadb/mysql.h
    /usr/include/mariadb/server/mysql.h
    /usr/include/mariadb/server/private/probes_mysql.h
    root@localhost:~/GIT/PF_CPPP/indiv#
    

    Wie kann ich nun mit "make" mit "CXXFLAGS" dieses Verzeichnis angeben? Was hier beschrieben wird, scheint nicht zu stimmen -> https://stackoverflow.com/questions/7561509/how-to-add-include-and-lib-paths-to-configure-make-cycle :

    $ LDFLAGS="-L/home/me/local/lib" CFLAGS="-I/home/me/local/include" make
    

    In meinem Fall konkret:

    $ eatmydata -- make -w -j4 CXXFLAGS="-I/usr/include/mariadb"
    

    ...nur ergibt das leider wieder das gleiche Theater:

    root@localhost:~/GIT/PF_CPPP/indiv# make -w -j4 CXXFLAGS="-I$/usr/include/mariadb"
    make: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    make[1]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird betreten
    [ 66%] Building CXX object CMakeFiles/indiv.dir/root/GIT/PF_CPPP/include/indiv.cpp.o
    [ 66%] Building CXX object CMakeFiles/indiv.dir/main.cpp.o
    In file included from /root/GIT/PF_CPPP/include/indiv.cpp:1:
    /root/GIT/PF_CPPP/include/indiv.h:24:10: fatal error: mysql.h: Datei oder Verzeichnis nicht gefunden
     #include <mysql.h>
              ^~~~~~~~~
    compilation terminated.
    In file included from /root/GIT/PF_CPPP/indiv/main.cpp:1:
    /root/GIT/PF_CPPP/indiv/../include/indiv.h:24:10: fatal error: mysql.h: Datei oder Verzeichnis nicht gefunden
     #include <mysql.h>
              ^~~~~~~~~
    compilation terminated.
    make[2]: *** [CMakeFiles/indiv.dir/build.make:63: CMakeFiles/indiv.dir/root/GIT/PF_CPPP/include/indiv.cpp.o] Fehler 1
    make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
    make[2]: *** [CMakeFiles/indiv.dir/build.make:76: CMakeFiles/indiv.dir/main.cpp.o] Fehler 1
    make[2]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/indiv.dir/all] Fehler 2
    make[1]: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    make: *** [Makefile:84: all] Fehler 2
    make: Verzeichnis „/root/GIT/PF_CPPP/indiv“ wird verlassen
    

    Und "CXXFLAGS" nach "CPPFLAGS" oder "CFLAGS" zu ändern bringt leider auch nix - gleiches Problem! 😞

    Vielen Dank für die Feedbacks.

    Grüsse, Jan



  • @xdev sagte in Zusätzliche Headerdateien etc. als Parameter bei GCC/make verwenden..?:

    CXXFLAGS="-I$/usr/include/mariadb"

    Warum ist da ein $ drin?

    In /usr/include/mariadb gibt es auch eine mysql.h?



  • Vielen Dank, hat sich geklärt mit einem Softlink von /usr/include/mysql nach /usr/include/mariadb! 🙂
    Gruss, Jan


Log in to reply