On Wednesday, February 18, 2015 at 1:31:07 PM UTC-5, Rajiv Poplai wrote:
>
> I created libcrypto.a of CCryptopp 5.6.1 on Mac OS 10.9 using GNUmakefile.
> Subsequently when I link it in my project in XCode 5.1.1, I get the
> following linker error.
>
> CryptoPP:RandomPool::GenerateIntoBufferedTransformation symbol not found.
>
> Can anybody help me with this issue.
>
Xcode uses LLVM's libc++ by default. By default, Crpyto++'s GNUmakefile
omits CXXFLAGS += -std=libc++, so it uses GNU's libstdc++. The following is
from around line 90:
ifeq ($(UNAME),Darwin)
AR = libtool
ARFLAGS = -static -o
CXX = c++
IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932)
ifeq ($(IS_GCC2),1)
CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
LDLIBS += -lstdc++
LDFLAGS += -flat_namespace -undefined suppress -m
endif
endif
So you will either need to:
(1) Change Xcode to use GNU's libstdc++
(2) Rebuild Crypto++ to use LLVM's libc++
To perform (1), change the setting in the Target's build settings.
To perform (2), open the GNUmakefile and add CXXFLAGS += -std=libc++ after
one of he Darwin tests (search for Darwin). And get rid of the line:
LDLIBS += -lstdc++
Jeff
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.