Darwin - und MacPorts/ Fink Verständnis Problem

G

gma

Aktives Mitglied
Thread Starter
Dabei seit
18.02.2007
Beiträge
119
Reaktionspunkte
2
Hallo,

ich versuche gerade eine kleine Anwendung unter Mac OS X 10.6 zu kompilieren und bekomme es nicht hin.

Ich habe die benötigten Libraries libpopt und gsl über Macports installiert, bedeutet dass, das sie im Zweifelsfall an Orten liegen, die standardmäßig dem System nicht bekannt sind?

Bei der eigentlichen Installation bekomme ich nämlich:

Code:
$ make
g++ -Wall -fPIC -O2 -c -o storm.o storm.cpp
In file included from storm.cpp:22:
cread.hpp:54:18: error: popt.h: No such file or directory

popt.h ist aber vorhanden, allerdings unter
Code:
$ locate popt.h
/opt/local/include/popt.h
/opt/local/var/macports/software/popt/1.16_0/opt/local/include/popt.h

Leider verstehe ich nichts von C/C++, popt.h wird im entsprechenden Programm über ein
Code:
#include <popt.h>
aufgerufen/verlinkt, wo sollte dass denn liegen, wenn es standardmäßig gefunden werden soll, oder wo kann ich eine zusätzliche Angabe machen, wo gesucht werden soll (der PATH ist hier doch wohl nicht gemeint)?

Andere header-Dateien liegen offensichtlich unter /usr/include, kann man von da einen symbolischen Link machen? Oder kann man beim kompilieren selbst erweiterte Angaben darüber machen, wo nach includes geschaut werden soll?

gma
 
du kannst dem compiler und linker doch mit einer option weitere header mitteilen bzw wo der dann die zu verlinkenden lib findet...
-L und -l z.b.
 
Danke,

make CFLAGS="-I/opt/local/include"

Hat funktioniert! Aber leider habe ich jetzt einen neuen Fehler, und der einzige Eintrag in ganz Google ist japanisch (denke ich), das macht doch wirklich keinen Spass mehr!

(
ld: library not found for -lpopt
collect2: ld returned 1 exit status
)

Ich gebe auf und wechlse für diese Fragestellung auf meine Linuxboxen, mal sehen ob das unter Fedora oder Ubuntu funzt!
gma

EDIT: habe es hinbekommen, irgendwie ist doch die obige Syntax der Fehlermeldung echt Mist, was soll denn lpopt, wenn es um "libpopt.a und b" geht!!!
make CFLAGS="-I/opt/local/include -L/opt/local/lib/"
 
Zuletzt bearbeitet:
Nur kurz eine Frage weil ich auch immer wieder solche Probleme habe:
ist bei in dem Ausdruck "-I/opt/local/include" zwischen '-I' und '/opt/...' kein Leerzeichen?
 
Nur kurz eine Frage weil ich auch immer wieder solche Probleme habe:
ist bei in dem Ausdruck "-I/opt/local/include" zwischen '-I' und '/opt/...' kein Leerzeichen?

kein leerzeichen...
 
Zurück
Oben Unten