Я создаю небольшое настольное приложение, используя Qt и Poco на Mac OS X Snow Leopard.
Qt работает нормально, но как только я начал связываться с Poco, я получаю следующее предупреждение:
ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/usr/local/lib/libPocoFoundation.8.dylib, file is not of required architecture
Также, когда я ссылаюсь на SDK 10.5:
ld: warning: in /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libPocoFoundation.8.dylib, file is not of required architecture
Любые подсказки о том, как решить эту проблему?
Решено!
Вот мой обходной путь (кстати, я также разместил его на форумах Poco):
Проблема в том, что если архитектура не указана, Snow Leopard по умолчанию использует 64-разрядную версию, тогда как более старые версии ОС по умолчанию используют 32-разрядную версию. В системе сборки Poco файл конфигурации Darwin не указывает архитектуру, поэтому он выбирает 32-разрядную версию. Мое решение состояло в том, чтобы скопировать файл конфигурации Darwin_x86_64 поверх файла Darwin и заменить текстовые экземпляры «x86_64» на «i386». Это приводит к 32-битной сборке.
Однако несколько хакерское решение, дайте мне знать, можно ли это сделать более чистым способом...