I must be doing something dumb here.
I'm using CMake GUI 2.8-11, XCode 5 on OSX Mavericks. I use macports.
I need 64 bit versions of the libraries.
I compiled the dependencies without hitch.
When I try to compile CEGUI I get...
Code: Select all
setenv MACOSX_DEPLOYMENT_TARGET 10.9
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Users/markymark/cegui/cegui-source-build/lib -F/Users/markymark/cegui/cegui-source-build/lib -filelist /Users/markymark/cegui/cegui-source-build/cegui/src/cegui.build/Release/CEGUIBase-0.build/Objects-normal/x86_64/CEGUIBase-0.LinkFileList -install_name @executable_path/../Frameworks/libCEGUIBase-0.dylib -mmacosx-version-min=10.9 -framework Carbon -dynamiclib -Wl,-headerpad_max_install_names /usr/lib/libiconv.dylib /opt/local/lib/libfreetype.dylib -single_module -Xlinker -dependency_info -Xlinker /Users/markymark/cegui/cegui-source-build/cegui/src/cegui.build/Release/CEGUIBase-0.build/Objects-normal/x86_64/CEGUIBase-0_dependency_info.dat -o /Users/markymark/cegui/cegui-source-build/lib/libCEGUIBase-0.dylib
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
CEGUI::IconvStringTranscoder::stringToUTF16(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in IconvStringTranscoder.o
std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > CEGUI::iconvTranscode<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>(CEGUI::IconvHelper&, char const*, unsigned long) in IconvStringTranscoder.o
"_libiconv_close", referenced from:
CEGUI::IconvStringTranscoder::stringToUTF16(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in IconvStringTranscoder.o
CEGUI::IconvStringTranscoder::stringToStdWString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in IconvStringTranscoder.o
CEGUI::IconvStringTranscoder::stringFromUTF16(unsigned short const*) const in IconvStringTranscoder.o
"_libiconv_open", referenced from:
CEGUI::IconvHelper::IconvHelper(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in IconvStringTranscoder.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld /Users/markymark/cegui/cegui-source-build/lib/libCEGUIBase-0.dylib normal x86_64
(1 failure)
I wanted a completely static library but it appears to be picking up libiconv.dylib from /usr/lib and /opt/local.
So I guess my questions are... why isn't it compiling ? and how to do I get cmake to only use static libraries ?
Thanks very much if you can help.
Mark