Wie link mit Python ist3 Libs mit cmake?
Habe ich Python ist3 installiert über brew install python3
. Allerdings cmake
nicht finden PythonLibs 3. Hier ist der header von meinem CMakeLists.txt
.
cmake_minimum_required(VERSION 3.0)
find_package(PythonLibs 3 REQUIRED)
Wenn ich ran cmake, bekam ich diese Fehlermeldung
Could NOT find PythonLibs: Found unsuitable version "2.7.6", but required is at least "3" (found /usr/lib/libpython2.7.dylib)
Nicht sicher, was ich falsch gemacht habe.
- Haben Sie einen Blick auf stackoverflow.com/questions/17694772/does-cmake-support-python3 - es ist ein sehr ähnliches problem. Der einfachste Vorschlag wäre manuell die Pfade zu den Python-Header und Bibliotheken, aber es ist nicht eine große Lösung. Ich weiß nichts über
brew
und wie es Dinge beeinflusst... - Vielen Dank, die Lösung, dass der link funktioniert, obwohl es nicht mehr mein code cross-Plattform :(. Und ich fragte eine andere Frage zum gleichen Thema stackoverflow.com/questions/29267718/..., wenn Sie nichts dagegen haben, zu beantworten. Vielen Dank @DavidW.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meiner Erfahrung, dies geschah, weil ich wurde mit einer älteren version von cmake (2.8 statt 3+), die didn ' T wissen über Python 3.4 (es gab nach 3.3.)
War die Lösung, in die zu gehen CMakeLists.txt Datei, und fügen Sie eine "weitere Versionen" Richtlinie ÜBER die find_package:
set(Python_ADDITIONAL_VERSIONS 3.4)
find_package(PythonLibs 3 REQUIRED)
Wahrscheinlich könnte man auch lösen, es durch ein Upgrade Ihrer version von cmake. Aber das oben beschriebene hat für mich mit cmake 2.8
Ein weiterer Grund dafür ist, dass CMake kann nicht immer finden Python 3 bei der Installation von brew auf OSX. Es sieht aus wie die CMake-Entwickler wissen, dass
FindPythonLibs
saugt und ein ticket zu revamp-it aber es sieht nicht wie es wird in absehbarer Zeit geschehen.Glaube ich, dass der Python-interpreter selbst weiß, wo seine Bibliotheken und Header sind so denke ich, das beste, was zu tun wäre, um es auszuführen, um das herauszufinden. Um den Pfad zu den Python-interpreter würde ich erzwingen, dass der Benutzer dieses manuell einzugeben. Eines der großen Themen, mit Python ist, dass viele software beinhaltet eine eigene Kopie, so dass Sie werden am Ende mit 5 Kopien davon auf Ihrem system. Die chance der Kommissionierung die falsche ein, ist einfach zu hoch. Holen Sie sich die Benutzer angeben, die richtigen sind.