Ich habe eine sehr einfache CMakeLists.txt für ein C++ Projekt, das eine gemeinsame Bibliothek baut zu stoppen. Wie kann ich damit aufhören?Wie CMake aus Verknüpfung mit libstdC++
Antwort
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
set_target_properties(yourtarget PROPERTIES LINKER_LANGUAGE C)
Quelle: http://cmake.3232098.n2.nabble.com/setting-LINKER-LANGUAGE-still-adds-lstdc-td7581940.html
3 - nicht wahr. Sie können Standard-C++ - Includes wie
Sie können Compilerflags -stdlib = libC++ hinzufügen.
Einfaches Beispiel:
cmake_minimum_required(VERSION 2.8.4)
project(test)
set(CMAKE_VERBOSE_MAKEFILE TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -v -stdlib=libc++")
add_executable(test main.cpp)
Geben Ausgang:
"/usr/bin/ld" ... -o test ... -lc++ ...
standardmäßig:
cmake_minimum_required(VERSION 2.8.4)
project(test)
set(CMAKE_VERBOSE_MAKEFILE TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -v")
add_executable(test main.cpp)
Link STDC++:
"/usr/bin/ld" ... -o test ... -lstdc++ ...
[update]
Wenn Sie nicht brauchen, um alle zu C++ lib zu verknüpfen - verwenden '-nodefaultlibs' als Linker-Flag und '-nostdinC++' Flagge Compiler. Möglicherweise müssen Sie einige Standardbibliotheken verknüpfen, z. B. '-lSystem'.
Hm. Ich frage mich, ob es eine ähnliche Option für keine stdlib gibt. Ich bin vor einiger Zeit in ein anderes Build-System migriert, aber danke für die Antwort :) –
Diese Antwort funktioniert nicht. Sehen Sie stattdessen meine. – andrewrk
- 1. Vermeiden Sie die Verknüpfung zu libstdC++
- 2. CMake: Verknüpfung statisch gegen libgcc und libstdC++ in einer gemeinsam genutzten Bibliothek
- 3. Verknüpfung statisch OpenSSL Crypto-Bibliothek in CMake
- 4. Boost-CMake Problem mit Verknüpfung (Ubuntu 14.04)
- 5. Static Link libstdC++ mit Klirren
- 6. Wie kompilieren CMake für ARM mit CMake
- 7. eine gemeinsame Bibliothek mit Statik Verknüpfung CMake mit
- 8. OpenCV 2.4.3+ mit libstdC++ für iOS?
- 9. Building Paraview aus der Quelle mit CMake und Python-Bibliothek Verknüpfung Problem
- 10. Wie man libstdC++ statisch mit clang ++
- 11. Wie verknüpfen gegen Boost.System mit cmake
- 12. Wie mit Cmake
- 13. CMake Include Abhängigkeiten der importierten Bibliothek ohne Verknüpfung
- 14. Verknüpfung opencv Bibliotheken enthalten als externes Projekt über Cmake
- 15. CMake auf Linux: „Zielplattform unterstützt keine dynamische Verknüpfung“
- 16. Cmake: statische Verknüpfung erfordert Bibliotheken zur Laufzeit (appcrash 0xC0000135)
- 17. std :: Zukunft und Klappern mit -stdlib = libstdC++
- 18. Cmake Verbindungsfehler auf der Verknüpfung Shared Library Hierarchie
- 19. Debug durch libstdC++
- 20. gcc und libstdC++ Vorwärtskompatibilität
- 21. Wie zu ändern Standard lib Verknüpfung für Android Cross Toolchain (Verknüpfung ohne libC++ und libm)
- 22. Versand libstdC++.so.6 mit Anwendung
- 23. libstdC++ - nicht statisch verbinden mit qmake
- 24. Entfernen Boost libstdC++ Abhängigkeit mit Clang ++/libC++?
- 25. Wie bekomme ich -std = C++ 11 mit libstdC++?
- 26. cmake und tesseract, wie man mit cmake verbindet
- 27. Getting libstdC++ - v3/python
- 28. Wie StartMenu Verknüpfung mit C#
- 29. Konvertiere zwischen String, u16string & u32string mit libstdC++
- 30. Statisch mit glibc und libstdC++ verbinden
Was ist genau das Sorgen Sie, was sind die Folgen Sie versuchen zu vermeiden? – Antonio
Ich kann nicht auf libstdC++ in den Umgebungen abhängen, in denen ich dieses Projekt bereitstellen möchte. –