znalazłem przykłady i posty, abybudynku statyczna C++ lib do użytku z Objective-C aplikacji w Xcode 4
- Tworzenie statycznej C++ lib do użytku w C++ aplikacji
- Tworzenie statycznej Objective lib C dla użyj w aplikacji Cel C.
Co nie mogłem znaleźć i nie zaczepiani wokół z wielu dni, to jest poprawny sposób tworzenia statycznych lib C++ do wykorzystania w aplikacji Objective-C pod XCode 4.
po prostu chcesz do korzystania z tego bardzo prostego kodu do celów testowych:
#include <iostream>
#include "myCppLib.h"
using namespace std;
extern "C" void show_the_world() {
cout << "Hello, world!\n";
}
skompilować to z armv6/ARMv7 cel, GCC 4.2 kompilatora, łącząc „C++ standardowej biblioteki Type” jako „Static” i mają „Symbole domyślnie ukryte” do TAK, zgodnie z opisem w pomocy Xcode dla statycznych bibliotek C++.
Moja Objective-C app, który nazywa „show_the_world” błędy funkcyjne o std ++ lib, który wydaje się nie być włączone lub nie prawidłowo odwoływać:
Undefined symbols for architecture armv6:
"std::ios_base::Init::~Init()", referenced from:
___tcf_0 in libmyCppLib_dev.a(myCppLib.o)
"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
_show_the_world in libmyCppLib_dev.a(myCppLib.o)
"std::ios_base::Init::Init()", referenced from:
__static_initialization_and_destruction_0(int, int)in libmyCppLib_dev.a(myCppLib.o)
"std::cout", referenced from:
_show_the_world in libmyCppLib_dev.a(myCppLib.o)
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status
Jestem pewien, że skompilowane biblioteki dla właściwa architektura, więc coś musi być nie tak w innym ustawieniu lub z moim kodem.
Każda pomoc jest mile widziana!
poważaniem, Jimmy
Ten wątek może pomóc - http://stackoverflow.com/questions/376966/using-c-c-static-libraries- from-iphone-objectivec-apps. – Perception
Jestem już nowy w tym poście, ale z powodu mojego "niezbyt dobrego" angielskiego, nie znalazłem odpowiedzi w tym poście. Po przekierowaniu mnie z powrotem do tego, poświęciłem sobie trochę więcej czasu - i teraz to działa :) chodziło o włączenie biblioteki std ++ do kompilacji powstałego projektu cel-c. Dziękuję bardzo! –
Gratulacje za zrobienie tego! – Perception