2016-08-11 4 views
0

konnten einige Boost-Bibliotheken auf Ubuntu nicht gefunden werden. Ich versuche dieses Repository zu kompilieren: https://github.com/graehl/carmel.Bei der Kompilierung der Datei

Es gibt ein Standard-Makefile zum Kompilieren.

Obwohl ich die Boost-Bibliothek "libboost-all-dev" installiert ist, begegne ich einen solchen Fehler:

/usr/bin/ld: cannot find -lboost_random-mt 
/usr/bin/ld: cannot find -lboost_timer-mt 
/usr/bin/ld: cannot find -lboost_chrono-mt 
/usr/bin/ld: cannot find -lboost_system-mt 
collect2: error: ld returned 1 exit status 
../graehl/graehl.mk:331: recipe for target 'bin/linux/carmel' failed 
make: *** [bin/linux/carmel] Error 1 

Wie kann ich das Problem beheben?

Danke,

Antwort

1

Versuchen, diesen Befehl searc zu verwenden, wenn in Ihrem System gibt die benötigten Pakete sind. Wenn Sie es also haben, könnten Sie versuchen, das Projekt zu kompilieren und dabei darauf zu achten, wie Ihre Boot-Bibliotheken installiert sind. In README.md wird geschrieben:

cd carmel; make -j 4 install BOOST_SUFFIX=-mt INSTALL_PREFIX=/usr/local 
# BOOST_SUFFIX= depends on how your boost libraries are installed - ls /usr/lib/libboost*.so 
(prerequisites: GNU Make (3.8) C++ compiler (GCC 5, clang 3.7, or visual studio 2015 will do) and Boost, which you probably already have on your linux system; for Mac, you can get them from Homebrew. For windows: MSVC2015 should work; you can also use cygwin or mingw. 
+0

Danke Carlino. Aber ich habe alle Voraussetzungen. – yusuf

+1

Kannst du mir die Ausgabe von "dpkg -L libboost-all-dev" zeigen –

+0

http://pastebin.com/e0mZcc3E – yusuf

1

Also ich denke, dass das Problem ist, dass Sie nicht zu Ihrem Linker sagen, wo ist die Boot-Bibliotheken. Ich nehme an, dass ich dann diese Frage eintippte Question Also mit diesem Befehl können Sie wissen, wo die Bibliotheken sind.

dpkg -S <name of library> 

zum Beispiel:

dpkg -S boost_random 

für den -lboost_random-mt

+0

Es tut mir leid, ich bin ein bisschen nicht gut in diesem Betriebssystem Probleme. Wie kann ich das Problem vollständig lösen? – yusuf

+1

In der make-Datei gibt es einige Variablen, die den Boot-Bibliotheken-Pfad enthalten. Sie müssen den Pfad der Bibliotheken mit dem Befehl dpkg -S ermitteln und diese Variablen festlegen. –

+0

zum Beispiel? Entschuldigung, ich bin in dieser Ausgabe völlig dumm. – yusuf

Verwandte Themen