Я исправил это, добавив .dylib к компоновщику. Как это настроить?
- Перейти к проектам
- Перейти к сборке C / C ++ -> настройки
- Выберите Mac OS X C ++ Linker -> Библиотеки
Вот где сложная часть ... Я узнал методом "try-error", как это работает:
Допустим, у вас есть файл dylib, который вы хотите добавить, с именем "libMyLib.dylib", расположенный в / opt / local / lib / MyLibrary
К той части окна, где написано, что библиотеки добавляют строку
"MyLib"
К той части окна, где написано «Путь поиска библиотеки», добавьте строку
"/ Opt / местные / Библиотека / MyLibrary /"
=> eclipse автоматически сделает это:
1. добавьте «lib» перед строкой
2. добавьте ".dylib" после вашей строки
Возникает еще одна проблема с Mac ... Допустим, вы используете символы из инфраструктуры CoreFoundation. Фреймворки Mac OS - это необходимые файлы с заголовочными файлами ... Если вы не уверены, что вы всегда можете проверить по «file myFile»
Проблема в том, что eclipse никогда не сможет правильно подобрать эти dylibs из MAC OS SDK и / System / Library / Frameworks /, поскольку к ним не добавлен .dylib. Хитрость заключается в том, чтобы просто пойти туда, где находится dylib (даже если в его имени нет .dylib), например.
cd /System/Library/Frameworks/CoreFoundation.framework
, а затем скопируйте файл и добавьте dylib (НЕ ПЕРЕИМЕНУЙТЕ ЕГО !!!)
file CoreFoundation
CoreFoundation (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
CoreFoundation (for architecture i386): Mach-O dynamically linked shared library i386
#copy the lib and name it to "eclipse friendly format"
cp CoreFoundation libCoreFoundation.dylib