Я создал небольшое настольное приложение с использованием 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
Также, когда я делаю ссылку на 10.5 SDK:
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-битную сборку.
Хотя это несколько хакерское решение, дайте мне знать, если это можно сделать более чистым способом ...