• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

FreeBSD kennt pkg-config nicht für Compileraufruf

R

ralli

Guest
Themenstarter #1
Ich weiß nicht, ob klar ist, was ich meine. Ich beschäftige mich zur Zeit mit den Grundlagen der GTK2 bezw. GTK3 Programmierung. Hier der Quellcode für ein simples Fenster:

Code:
// Programm: simple.c

// compilieren mit: gcc -o simple simple.c `pkg-config --libs --cflags gtk+-2.0`

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {

  GtkWidget *window;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(window);

  g_signal_connect(window, "destroy",
      G_CALLBACK(gtk_main_quit), NULL);

  gtk_main();

  return 0;
}
Compiliert wird das ganze mit:

Code:
gcc -o icon icon.c `pkg-config --libs --cflags gtk+-2.0`
für GTK2 oder für GTK3:

Code:
gcc icon.c -o icon -Wall `pkg-config --libs --cflags gtk+-3.0`
Nun kennt FreeBSD offensichtlich pkg-config nicht, kann das bitte mal jemand ausprobieren, wie unter FreeBSD das C Programm simple.c mit clang compiliert wird, und hier den Compileraufruf posten, ob das erfolgreich war und funktioniert.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#2
Code:
% pkg which /usr/local/bin/pkg-config
/usr/local/bin/pkg-config was installed by package pkgconf-1.6.0,1
:)
 
R

ralli

Guest
Themenstarter #3
Danke @Yamagi, bei mir hat es nicht funktioniert, sonst würde ich es nicht posten. Ist der Compileraufruf dann gleich (außer das gcc natürlich durch clang ersetzt wird)? Wenn ja, muß wohl der Path angepaßt werden für die Entwicklungsdateien. Ich kann das augenblicklich leider nicht testen. Arbeitet jemand mit dem Gimp Tookit und könnte das bitte mal antesten, ob und wie es funktioniert.
 
R

ralli

Guest
Themenstarter #5
Was ist denn der Fehler des Compilers?
Ich schrieb ja, das ich das zur Zeit nicht testen kann, da ich alles unter Scientific Linux ausprobiert habe. Deshalb wäre ich dankbar, wenn mir jemand 5 Minuten seiner Zeit schenken würde, und das für mich unter FreeBSD antesten würde. Ist ja nur das kleine Programm simple.c, einfach mit clang compilieren, ob es geht. Funktioniert es, installiere ich FreeBSD neu.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#6
Achso. Also clang läuft ohne Warnung oder Fehler einfach durch:
Code:
clang simple.c -o simple.c -Wall `pkg-config --libs --cflags gtk+-3.0`
 
R

ralli

Guest
Themenstarter #7
Bei mir kommt die Fehlermeldung nach dem Compileraufruf:

Code:
pkg-config: not found
simple.c:6:10: fatal error: 'gtk/gtk.h' file not found
#include <gtk/gtk.h>
         ^~~~~~~~~~~
1 error generated.
pkg-config ist nicht installiert. Wenn ich es als Binärpaket installieren möchte, ist es nicht vorhanden.
 
R

ralli

Guest
Themenstarter #9
Ich habe das Problem gelöst. Den Port pkg-config gibt es nicht mehr, er wurde entfernt. Als Ersatz gibt es das Paket pkgconf. Nur das war nicht installiert. Ich habe es gerade nachgeholt und nun funktioniert es. Ich danke Euch für die Unterstützung.