Ich bin total verwirrt und brauche Hilfe von jemandem, der C++ Shared Library erstellt hat, die auf jeder Plattform funktioniert jede IDE.Probleme beim Erstellen einer C++ - Shared Library für mehrere Architekturen (x86_64, armv7, armv7s, arm64, i386)
Was ich bisher getan haben: Erstellt
1) eine gemeinsame Bibliothek cmake in Ubuntu verwenden.
2) übertragene Quelldateien und die Steuerdatei (cmake) zu MacOSX (El Capitan)
3) das Build-Verzeichnis Erstellt
4) Verwenden von Terminal in Mac OS, ich lief:
$ cmake ..
$ sudo make install
5) Ein Xcode iOS-Projekt erstellt, das armv7- und arm64-Architekturen unterstützt
6) Verwendeter Header-Suchpfad und Bibliothekssuchpfad, um die Header und die Bibliothek zu finden Ich hatte in
/usr/local/include/
und
/usr/local/lib
7) Verwendet eine der mitgelieferten einer der Bibliothek Header-Datei in main.mm (umbenannt main.m) und erstellt ein Objekt für die Klasse installiert
Bauenacht) das Projekt gibt mir Fehler wegen folgendem Grund
ld: warning: ignoring file /usr/local/lib/libMyLibrary.dylib, file was built for x86_64 which is not the architecture being linked (arm64): /usr/local/lib/libMyLibrary.dylib
Hier sind die Inhalte s meiner Cmake
cmake_minimum_required(VERSION 2.8)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lsqlite3")
#Adding source files
file(GLOB SOURCES "src/*.cpp")
#Generate the shared library from the sources
add_library(MyLibraryName SHARED ${SOURCES})
target_compile_options(MyLibraryFolder PRIVATE -std=c++11 -lsqlite3)
add_executable(MyLibraryName ${SOURCES})
target_link_libraries(MyLibraryName PRIVATE -lsqlite3)
#Set the location for library installation. Use "sudo make install" to apply
install(TARGETS MyLibraryName DESTINATION /usr/local/lib)
install(DIRECTORY inc/${MyLibraryName_CPP} DESTINATION /usr/local/include)
Kann mir jemand helfen mit diesem, bitte ...
@halfelf - danke für Änderungen. Ich bin neu dazu, das ist wirklich eine große Hilfe. – San
Ich kann nicht mit OSX Compiler und Varianten sprechen. Aber hoffentlich können diese https://gcc.gnu.org/onlinedocs/gcc/Submodel-Options.html#Submodel-Options Sie näher an Ihr beabsichtigtes Ziel heranführen. Außerdem würde ich nach Cross-Compilern suchen, da der von mir angegebene Link möglicherweise nicht das ist, wonach Sie fragen. – M4rc